Aleph: A new event-driven web server for Clojure
groups.google.com
groups.google.com
Moreover I'm looking at Clojure mainly for web development, so this is really something I'm happy they are addressing.
Add to it a monstrosity from the deepest ends of Moria: maven (hint: google for 'maven sucks') and you have the world lots of people want to forget about.
Today's Clojure webservers being usually wrappers around existing solutions won't cure all these wounds, but at least it's a step in a refreshing direction.
It's usually used to build deployments, CI, autodeploying and stuff. In fact for many operations tasks Maven cannot be decoupled, because it's used for almost everything. When using Makefile, to copy a compiled archive to a destination you'd use shell commands; in Maven you cannot leave the Java world so you pick up a plugin to do the same, usually of poor quality. This way you introduce even more code, which is hardly manageable at some point, and contrary to the maxim "every line of code not written is a correct one".
Short answer:
Pick a job in operations or change management at a large Java shop, then you'll know.
The RL is that in most shops usage of appserver & Maven is tighly coupled to the high ends of pain, and you don't decide the next big thing that could replace even parts of this sick marriage. Of course maybe you're talking about a situation when you decide about the whole infrastructure but then there are big chances you wouldn't choose Java in the first place. So please make a distinction if you're talking about theoretical "who could do what" or practical "what's already going on this planet" or even more practical "I'm gonna conquer the world with the new X and I really have freedom to choose it" :]
Of course, the correct answer is (IIRC) that standard Java web servers don't support the NIO asynchronous request paradigm - the standard Java servlet spec is thread-per-request.
But not everyone knows that.
Jetty has also supported their own async handling extension for quite some time now (but they're moving to the 3.0 standard). I've used it to build 'Comet' servers before, and it does the trick.
In that case, someone should write a Clojure library that utilizes the 3.0 standard. That'd be even cooler.
I think Netty is great if you want fine grained control over each aspect of your network stack and/or ultimate performance. But having a full featured web server that does sync and async equally well is a value that shouldn't be dismissed either.
I see that that Aleph implements Ring, so you can use it with a bunch of existing Clojure web frameworks, such as Compojure.