[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