Hi all,
I have an inbound JCA connector which simply passes a socket on each new TCP connection over a SocketMessage interface. So it's basically a point-to-point message where a new instance started for every connection in it's own thread.
The MDB which listens to JCA socket messages is originally EJB2.1 and it works just fine. But I am trying to migrate this MDB to EJB3.0 to support dependency injection, the first problem I've encountered when I replace ejb2.1 xml scheme to ejb3.0 in ejb-jar.xml, glassfish complains and throws exception:
MDB00017: [SimpleSocketBean]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : ]
com.sun.enterprise.connectors.ConnectorRuntimeException
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created :
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1595)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1421)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:524)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:529)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:240)
at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:226)
at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:218)
at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:449)
at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:134)
at com.sun.enterprise.server.PEMain.run(PEMain.java:409)
at com.sun.enterprise.server.PEMain.main(PEMain.java:336)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
Looks like on the connector activation, glassfish tries to get physical destination and seem to expect JMS destination. How can I configure ejb-jar.xml to use my SocketMessage interface in EJB 3.0?
Thanks in advance,
Mohamed
[Message sent by forum member 'mohamedelshami']
http://forums.java.net/jive/thread.jspa?messageID=397152