Announcement Announcement Module
Collapse
No announcement yet.
Spring 3.0 messageListener on weblogic 10.3 gives error JMSClientExceptions Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring 3.0 messageListener on weblogic 10.3 gives error JMSClientExceptions

    I am trying to deploy a Spring 3.0.5 messageListener on weblogic 10.3 inside a war, and cannot get it working.

    I have created a simple jms quque on weblogic, but it looks like weblogic thinks I am trying to connect as a foreign client, even though everything is local?


    WARN org.springframework.jms.listener.DefaultMessageLis tenerContainer
    - Setup of JMS message listener invoker failed for destination 'System Module!Test Queue'
    - trying to recover. Cause: [JMSClientExceptions:055142]Foreign destination, System Module!Test Queue


    Here's my spring xml

    Code:
       <!--  connection factory -->
    <jee:jndi-lookup id="jmsConnectionFactory"  jndi-name="weblogic.jms.ConnectionFactory" expose-access-context="true" />
    
    <!--  weblogic jms queue -->    
    <jee:jndi-lookup id="testQueue" jndi-name="jms.testQueue" expose-access-context="true"/>
    
    <!--  my onMessage listener bean -->    
    <bean id="jobNotificationQueueListener"   class="com.xxx.component.jms.JobNotificationQueueListener" />
    
    <!--  spring container -->
    <bean id="jobNotificationQueueContainer"
         class="org.springframework.jms.listener.DefaultMessageListenerContainer">
          <property name="connectionFactory" ref="jmsConnectionFactory" />
          <property name="destination" ref="testQueue" />
          <property name="messageListener" ref="jobNotificationQueueListener" />
          <property name="sessionAcknowledgeModeName" value="AUTO_ACKNOWLEDGE" />
          <property name="sessionTransacted" value="true" />
    </bean>
    Anybody seen this before?
    Last edited by alanl; Apr 13th, 2011, 11:05 AM. Reason: typo

  • #2
    This looks like some setup problem with weblogic and i think there are some good suggestions here http://stackoverflow.com/questions/5...ientexceptions

    Comment


    • #3
      That stackoverflow post is from me aswell. Unfortunately the suggestions did lead anywhere.

      Do you definitely think is wls config? Because I also built a simple ejb mdb listener and tested it on a local and remote queue, and it worked fine.

      Comment


      • #4
        Issue Resolved

        I was able to reproduce and solve this problem. In my ApplicationContext file I used to have this configuration:

        <jee:jndi-lookup id="eventQueue" jndi-name="${jms.event.queue.name}" expose-access-context="true"/>
        I changed it to:

        <jee:jndi-lookup id="eventQueue" jndi-name="${jms.event.queue.name}"/>
        and it is working fine now and not throwing that error constantly. Perhaps it is a benign error?

        Comment


        • #5
          Yes, this worked once I left expose-access-context="true" property to its default

          My final spring jms config looked like this.

          Code:
             <!--  connection factory -->
          <jee:jndi-lookup id="jmsConnectionFactory"  jndi-name="weblogic.jms.ConnectionFactory" />
          
          <!--  weblogic jms queue -->    
          <jee:jndi-lookup id="testQueue" jndi-name="jms.testQueue"/>
          
          <!--  my onMessage listener bean -->    
          <bean id="jobNotificationQueueListener"   class="com.xxx.component.jms.JobNotificationQueueListener" />
          
          <!--  spring container -->
          <bean id="jobNotificationQueueContainer"
               class="org.springframework.jms.listener.DefaultMessageListenerContainer">
                <property name="connectionFactory" ref="jmsConnectionFactory" />
                <property name="destination" ref="testQueue" />
                <property name="messageListener" ref="jobNotificationQueueListener" />
                <property name="sessionAcknowledgeModeName" value="AUTO_ACKNOWLEDGE" />
                <property name="sessionTransacted" value="true" />
          </bean>
          Thanks for the help Jeffrey

          Comment

          Working...
          X