Closed glassfishrobot closed 3 years ago
@glassfishrobot Commented @jjsnyder said: The @Resource works because it's a resource injection of an object that is in JNDI. It is not a CDI-scoped injected object.
The @Inject fails for the same reason as: https://java.net/jira/browse/GLASSFISH-20371
@glassfishrobot Commented @jjsnyder said: This will require a CDI spec change. See https://issues.jboss.org/browse/CDI-370
@glassfishrobot Commented @jjsnyder said: This issue really is a usage issue of the JMSContext. The JMSContext requires a global Transaction or an active CDI request context. At the time the injected JMSContext is being used there is no global transaction and no active CDI request context and so the exception is thrown.
There is ongoing discussions on whether the CDI request context can be expanded to account for WebSocket and if WebSocket needs to create its own CDI scope. In any case this issue is a usage issue irt how WebSocket uses the JMSContext.
@glassfishrobot Commented Was assigned to dannycoward
@glassfishrobot Commented This issue was imported from java.net JIRA GLASSFISH-20468
@glassfishrobot Commented Reported by miojo
This issue has been marked as inactive and old and will be closed in 7 days if there is no further activity. If you want the issue to remain open please add a comment
This issue has been marked as inactive and old and will be closed in 7 days if there is no further activity. If you want the issue to remain open please add a comment
The following code fails to send an incoming WebSocket message to a JMS queue:
This is the exception (not logged by GF due to #20467)
Because JMSContext is @RequestScoped, and a WebSocket message has the same behaviour as an HTTP request, it should be possible to use the injected JMSContext to send a message to a Queue from WebSocket.onMessage method.
The following code works fine:
This issue is also related to #20371 (and it might influence JMS_SPEC-100)
Affected Versions
[4.0_dev]