Jetty 9 features previewed by developers
The latest version of the enduringly popular server has seen its guts re-architectured to expand its protocol support beyond HTTP.
Jetty developer Jesse McConnell has outlined
on his blog some of the features of the next version of the
enduringly popular Java-based server. Last time we checked in on
Jetty 9 its feature set was still
being nailed down, but after a few months’ work these ideas are
becoming a lot more solid.
The headline feature is support for the new
SPDY protocol – already supported by Chrome and Firefox – which
necessitates an upgrade to Java 1.7. It’s about time, after all –
while Oracle has yet to set an end-of-life date for 1.6, it seems
likely to be set within the next few months.
As expected back in January, Servlet API 3.1 is unlikely to be
released anytime soon and so won’t be supported by default in Jetty
9. However, McConnell said that it wouldn’t be a “huge deal” to add
it in later as part of a small update.
McConnell’s post also includes a message for users of Jetty 6,
urging “for the love of god, please update!” Several distributions
of Linux are still using Jetty 6, and apparently even Google App
Engine and Google Web Toolkit are still on this deprecated
“It can’t be overstated how much the inner workings of jetty have
evolved with Jetty 9,” writes McConnell. The move away from HTTP
towards more modern protocols like SPDY and WebSockets has prompted
a separation of wire protocol from semantic. This has required a
rewrite of Jetty architecture “from the IO layer up”, but sounds as
if it’s been worth it:
While these are mostly internal changes, they ripple out to give
many benefits to users in the form of better performance, smaller
software and simpler and more appropriate configuration. For
example instead of having multiples of differennt [sp] connector
types, each with unique SSL and/or SPDY variants, there is now a
single connector into which various connections factories are
configured to support SSL, HTTP, SPDY, Websocket etc. This means
moving forward jetty will be able to adapt easily and quickly to
new protocols as they come onto the scene.
For “many and varied” reasons, the two previous versions were
released as split production versions, but from 9 onwards this will
no longer be the case. McConnell also pledges an improvement to
Jetty’s documentation, versioned and stored under a common
Sounds great. We can’t wait to see the fruits of the team’s labour
when they start dropping milestones later next month.