Nov 20th, 2012, 08:45 PM
JmsMessageEndpointManager inside glassfish 3
This could be seen more of a Glassfish problem rather than a spring issue but its related and could assist others in the same situation or avoid making a similar decision.
I am attempting migrate an application from Glassfish 2 to Glassfish 3. The application uses the org.springframework.jms.listener.endpoint.JmsMessa geEndpointManager as the manager for the JMS resources. One of the bean properties is ActivationSpec of type javax.resource.spi.ActivationSpec.
In Glassfish 2 the development team who wrote this application used a JNDI resource of the type com.sun.messaging.jms.ra.ActivationSpec which implements the interface.
In Glassfish 3 this class (com.sun.messaging.jms.ra.ActivationSpec) is not on the class path and I cannot find any documentation on the correct jar file to copy into the container. The glassfish 3 documentation I have read says that the Activation Spec type is configured by xml as a part of an EJB. I would prefer to find a elegant spring approach to this solution.
Like I said more of a Glassfish problem but I was curious to know if anyone in the spring community had a solution?
Nov 25th, 2012, 04:20 PM
I found the solution to this problem. It is simply a matter of shutting down your entire glassfish container include the DAS server, standalone instances, and clusters. The copy the glassfish-embedded-all dependency into the <GLASSFISH_HOME>glassfish/lib directory
Then you can restart your glassfish instance and the dependencies that we previously missing will now be on the classpath. Just remember to shut down your entire Glassfish server or else you may see exceptions when starting instances with the embedded dependency on the classpath.