Announcement Announcement Module
Collapse
No announcement yet.
jee:lookup doesn't work Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • jee:lookup doesn't work

    I'm using Spring 3.0.0 and am having problems performing a JNDI lookup on a JMS destination.

    The JMS provider is Weblogic 10.3. What I'm doing seems quite simple and it seems that it should work. I think I'm overlooking something...

    I'm using Spring to do a JNDI lookup on a JMS queue and injecting it into a destination of a DefaultMessageListenerContainer. The lookup works fine when the port number of the application that declares the DefaultMessageListenerContainer is the same as the Queue; but the problem occurs when the port numbers are different. It appears that the JMS queue that is deployed in a different Weblogic domain than the DefaultMessageListenerContainer, cannot be found. I didn't see any remote configuration options for jee:lookup; so if it requires remote protocol; I'm not sure how to specify that...

    Here is the exception:

    Code:
    14:01:41,207 WARN  [DefaultMessageListenerContainer] Setup of JMS message listener invoker failed for destination 'VhieJmsModule!DODInboundQueue' - trying to recover. Cause: Destination not found
    weblogic.jms.common.JMSException: Destination not found
    	at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
    	at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:45)
    	at weblogic.jms.client.JMSSession.consumerCreate(JMSSession.java:2914)
    	at weblogic.jms.client.JMSSession.setupConsumer(JMSSession.java:2687)
    	at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:2628)
    	at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:2608)
    	at weblogic.jms.client.WLSessionImpl.createConsumer(WLSessionImpl.java:880)
    	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:477)
    	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:221)
    	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:305)
    	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:241)
    	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:977)
    	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:969)
    	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:871)
    	at java.lang.Thread.run(Thread.java:619)
    Caused by: weblogic.jms.common.JMSException: Destination not found
    	at weblogic.jms.dispatcher.Request.handleThrowable(Request.java:87)
    	at weblogic.jms.dispatcher.Request.getResult(Request.java:52)
    	at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:1124)
    	at weblogic.messaging.dispatcher.DispatcherImpl.syncRequest(DispatcherImpl.java:184)
    	at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:219)
    	at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:43)
    	... 13 more
    Here is the Conatainer configuration deployed in domain on port 7005:

    Code:
    	<bean id="jmsVAtoDoDLiveContainer"
    		class="gov.va.med.datasharing.th.connector.jms.listener.DefaultMessageListenerContainer">
    		<property name="connectionFactory"
    			ref="defaultQueueConnectionFactory" />
    		<property name="destination" ref="vaToDoDQueue_VADestination" />
    		<property name="messageListener" ref="vaToDoDLiveForwarder" />
    		<property name="transactionManager" ref="transactionManager"/>
    	</bean>
    Here is the JNDI lookup configuration:

    Code:
    	 <jee:jndi-lookup id="dodToVAQueue_VADestination"
    		jndi-name="${jms.forwarding.dod.to.va}" lookup-on-startup="true"
    		environment-ref="vaDestinationProps">
    		<jee:environment>	    
        jms.forwarding.java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory		       
    jms.forwarding.va.java.naming.provider.url=t3://localhost:7001
    jms.forwarding.va.java.naming.security.principal=weblogic
    jms.forwarding.va.java.naming.security.credentials=weblogic
    		</jee:environment>
    	</jee:jndi-lookup>
    Any assistance would be greatly appreciated.
    Thanks in advance
Working...
X