Unable to inject a RequestScoped bean into a WebSocket server endpoint implementation

Solution Verified - Updated -

Issue

When trying to expose a WebSocket server endpoint which uses an injected RequestScoped bean. It seams that from a WebSocket server endpoint it is not possible to access to the request scope where the managed bean lives.

The exception that has been raised is as follows:

[org.jboss.example.websocket.WebSocketServerEndpoint] and the following error occurred: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
    at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:608) [weld-core-1.1.28.Final-redhat-1.jar:1.1.28.Final-redhat-1]
    at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:71) [weld-core-1.1.28.Final-redhat-1.jar:1.1.28.Final-redhat-1]
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79) [weld-core-1.1.28.Final-redhat-1.jar:1.1.28.Final-redhat-1]
    at org.jboss.example.managedbeans.HelloManagedBean$Proxy$_$$_WeldClientProxy.sayHello(HelloManagedBean$Proxy$_$$_WeldClientProxy.java) [classes:]
    at org.jboss.example.websocket.WebSocketServerEndpoint.onOpen(WebSocketServerEndpoint.java:33) [classes:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_25]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_25]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_25]
    at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0_25]
    at org.apache.tomcat.websocket.pojo.PojoEndpointBase.doOnOpen(PojoEndpointBase.java:68) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at org.apache.tomcat.websocket.pojo.PojoEndpointServer.onOpen(PojoEndpointServer.java:78) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:132) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:354) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:355) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:911) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:936) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_25]
    at org.apache.tomcat.util.net.NioEndpoint$DefaultThreadFactory$1$1.run(NioEndpoint.java:1249) [jbossweb-7.5.4.Final-redhat-1.jar:7.5.4.Final-redhat-1]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_25]

Environment

  • Red Hat JBoss Enterprise Application Platform 6.4.0 Beta
  • Red Hat JBoss Enterprise Application Platform 6.3.3

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content