+ Making WebSocketServletFactory always load a new
WebSocketServerFactory
+ Making WebSocketServerFactory need a ServletContext
to construct it, if appropriate (the WebSocketHandler
approach doesn't use a ServletContext)
+ NativeWebSocketConfiguration is now a bean of
ServerContainer
+ Removed WebSocketServletFactory.init(ServletContext) method
+ Renamed WebSocketServletFactory.init() to .start()
+ Renamed WebSocketServletFactory.cleanup() to .stop()
+ CDI & Websocket now works
+ Using a ServletContextListener now works
+ DecoderFactory and EncoderFactory now work
Improved to the toString and dump output of connections, endpoints and channel to assist with debugging
made the SSL callbacks and runnables Invocable to avoid thread starvation.
+ WebSocketServerContainerInitializer now initializes the
MappedWebSocketCreator, WebSocketServerFactory, and
ServerContainer directly, but puts the components needed
by WebSocketUpgradeFilter into ServletContext attributes
that it can obtain in its own init()
+ Added optional org.eclipse.jetty.websocket.jsr356.addDynamicFilter
init-param/attribute key to disable/enable the automatic addition
of the WebSocketUpgradeFilter during JSR356 init (to allow
WEB-INF/web.xml specified filter to operate instead)
+ Added WebSocketServerContainerINitializer.isEnabledViaContext()
to make testing the init-param and attributes more generic
+ Tests for WebSocket upgrade now evaluates the request
from least common feature to most common feature, so as
minimize the testing of the request object on every request
+ Arg.tag is now exposed for general use
+ JsrEndpointFunctions now decode (into primitives) the URI template
exposed @PathParam static arguments
+ JsrEndpointFunctions simplified tracking of static args
+ ServerContainer.assertValidEndpoint() now validates
added endpoints with @PathParam immediately (per spec)
using a UriTemplate where each variable is an empty string