Description of problem: Websockets are new feature in EAP 6.3 (jbossweb) [1] and require enable-websockets.jar to enable them => it needs to be productized. You can find it in jbossweb upstream in res/enable-websockets.jar (=> e.g. http://anonsvn.jboss.org/repos/jbossweb/branches/7.4.x/res/enable-websockets.jar) Productized version should contain some notes (e.g. readme) explaining customer how to use it (adding it to websocket application to WEB-INF/lib) [1] https://issues.jboss.org/browse/EAP6-6
Wouldn't it be better to have some propritary websockets activation element in web.xml or jboss-web.xml instead of an "activation jar"?
I would prefer having configuration option in web subsystem which would enable websockets globally. In Wildfly (undertow) there is no need to enable websockets in each deployed web application.
The Comment 2 and Comment 3 are questions for Remy or Jean Frederic, could you provide some information for reasons that websockets are activated via activation jar?
Websockets in Wildfly are defined by EE7 spec, so they don't have to be activated, OTOH websockets in EAP6 are a proprietary extension of the web subsystem on top of EE6, so the proper mechanism would be jboss-web.xml IMHO.
The websockets in jbossweb works only when using JDK 1.7 and higher. You can't use them with JDK 1.6. Thereby there could be option allowing to set websocket globally if it would be set on JDK 1.6 an exception would be thrown that to use this feature JDK 1.7 is required.
the code is in https://svn.jboss.org/repos/jbossweb/branches/7.4.x/res/enable-websockets/ Adding a jar doesn't seem as nice way. Probably <web-sockets enabled="true"/> in the jboss-web.xml and auto magically add the stuff in webapp deployment is better. that requires changes in the integration code and in metadata.
https://issues.jboss.org/browse/JBMETA-375 contains the Jira for exposing this in jboss web. An alternative would be to port the deployment processor to scan for the relevant annotations (there should be a counterpart in WildFly) and add things to the deployment. Can you be a bit more specific about what exactly needs to go into the deployment?
Carlo de Wolf <cdewolf> updated the status of jira JBMETA-375 to Resolved
https://github.com/jbossas/jboss-eap/pull/1188
Changed the title as discussed on PM call to match Emmanuel's fix. Old title: "Websockets in jbossweb require enable-websockets.jar to enable them => it needs to be productized". Note that including the enable-websockets.jar in the deployment will still work, but it is no longer a requirement, so we should not ship these jars, and they no longer need to be productised.
MEAD build: https://brewweb.devel.redhat.com/buildinfo?buildID=348706 RPM6 wrapper: https://brewweb.devel.redhat.com/buildinfo?buildID=348707 RPM5 wrapper: https://brewweb.devel.redhat.com/buildinfo?buildID=348709 RPM7 wrapper: https://brewweb.devel.redhat.com/buildinfo?buildID=348711 PR for EAP: https://github.com/jbossas/jboss-eap/pull/1203
Prod rebuild pr https://github.com/jbossas/jboss-eap/pull/1203
Created pull request [1] with test covering enabling websockets using jboss-web.xml. [1] https://github.com/jbossas/jboss-eap/pull/1292
Verified in EAP 6.3.0.ER2
In order to add this to the 6.3.0 Beta Release Notes, I need a clear outline of how this was implemented. Was a .jar file used, or is there now an XML setting that customers need to set in order to activate websockets (if so, where is it and what's the syntax)?
You can still use the .jar file but this is not recommended. For enabling websockets in your application you need : - running the server on JDK >= 7. - configure the web http connector to use the NIO2 connector : /subsystem=web/connector=http/:write-attribute(name=protocol,value=org.apache.coyote.http11.Http11NioProtocol) - add or edit the WEB-INF/jboss-web.xml file and enable websockets with the flag : <enable-websockets>true</enable-websockets> You can take a look at the documentation : http://documentation-devel.engineering.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.3/html-single/Development_Guide/index.html#chap-WebSockets and the related quickstarts : https://github.com/jboss-developer/jboss-eap-quickstarts/blob/6.3.x-develop/websocket-hello/
John Doyle <jdoyle> updated the status of jira EAP6-6 to Closed