[jboss-jira] [JBoss JIRA] Created: (EJBTHREE-975) HA-JNDI InitialContext for @Resource annotation
Ana Holzbach (JIRA)
jira-events at lists.jboss.org
Wed May 30 12:19:08 EDT 2007
HA-JNDI InitialContext for @Resource annotation
-----------------------------------------------
Key: EJBTHREE-975
URL: http://jira.jboss.com/jira/browse/EJBTHREE-975
Project: EJB 3.0
Issue Type: Bug
Components: Clustering
Affects Versions: AS 4.2.0 GA
Reporter: Ana Holzbach
We're deploying ejbs in a clustered environment that access JMS topics with @Resource annotation as follows:
@Resource(mappedName = "TopicConnectionFactory")
private ConnectionFactory mJmsConnectionFactory;
@Resource(mappedName = "topic/RoomService/BedStaffUpdate")
private Topic mStaffUpdateTopic;
The topics are deployed in deploy-hasingleton and are available to the singleton master in the cluster only. The remaining nodes get the following error:
javax.naming.NameNotFoundException: topic not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at flex.messaging.services.messaging.adapters.JMSProxy.getDestination(JMSProxy.java:186)
at flex.messaging.services.messaging.adapters.JMSTopicConsumer.start(JMSTopicConsumer.java:59)
at flex.messaging.services.messaging.adapters.JMSAdapter.manage(JMSAdapter.java:345)
at flex.messaging.services.MessageService.manageSubscriptions(MessageService.java:571)
at flex.messaging.services.MessageService.serviceCommand(MessageService.java:152)
at flex.messaging.MessageBroker.routeCommandToService(MessageBroker.java:622)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:298)
at flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java:682)
at flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecut
or.java:643)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.j
ava:668)
at java.lang.Thread.run(Thread.java:595)
See also http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4049784#4049784
According to Brian Stansberry the @Resource annotations are resolved relative to a default initial context, which will not work for the clustered environment, since we need access to the HA-JNDI context for these. Also according to Brian, getJndiProperties() in DeploymentUnit should be responsible for reading jndi properties defined at deployment through which we might be able to define an HA-JNDI context, but this method returns null in jboss 4.x and also in "2 out of the 3 impls in the AS 5 codebase". See also http://www.jboss.com/index.html?module=bb&op=viewtopic&t=109219
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list