java - weblogic 10.3 上的 Spring 3.0 messageListener - 错误 "Cause: [JMSClientExceptions:055142]Foreign destination"

标签 java spring weblogic weblogic-10.x

我试图在 war 中的 weblogic 10.3 上部署 Spring 3.0.5 messageListener,但无法使其工作。

我在 weblogic 上创建了一个简单的 jms quque,但看起来 weblogic 认为我正在尝试作为外部客户端进行连接,即使一切都是本地的?

[WARN] 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

这是我的 spring xml

   <!--  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>

有人见过这个吗?

最佳答案

此错误消息并不表示您正在尝试作为“外部客户端”进行连接。 WebLogic 认为您正在尝试连接到外部目标,这是不同的。

您想要设置什么类型的队列?一些值得尝试的事情: 1) 尝试浏览 JNDI 树到目的地以确认其存在并确认类型正确 2) 确认您已创建 JMS 服务器并将其定位到有问题的服务器 3) 确认您的队列定位正确

更新:我能够重现并解决这个问题。在我的 ApplicationContext 文件中,我曾经有这样的配置:

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

我把它改为:

  <jee:jndi-lookup id="eventQueue" jndi-name="${jms.event.queue.name}"/>

现在工作正常,不会不断抛出该错误。

关于java - weblogic 10.3 上的 Spring 3.0 messageListener - 错误 "Cause: [JMSClientExceptions:055142]Foreign destination",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650983/

相关文章:

java - 无法配置 EntityManagerFactory

java - “找不到或加载主类”是什么意思?

使用 Zookeeper 进行 Java 领导者选举

spring - 如何从 MONO/FLUX 中提取字符串值 -

java - 为什么 Spring 4 不能正确地计算出这些泛型?

oracle - 使用 wlst 更改 mbean 中的属性。

java - weblogic.wsee.jaxws.spi.ClientInstanceInitationHandler NullPointerException

Java:正则表达式替换

linux - 杀死 webloigc pid 和运行 stopWeblogic.sh 之间有什么区别

java - 方法 actionIncation.getInvocalContext().getSession() 不返回任何内容