【问题标题】:While trying to find a topic or a queue, the specific JMS server requested could not be found尝试查找主题或队列时,找不到请求的特定 JMS 服务器
【发布时间】:2021-03-26 01:06:34
【问题描述】:

我正在尝试为 JMS 执行多个并发侦听器,但我无法连接到队列。

我的代码如下:

<bean id="messageListener-xxx" class="pl.sygnity.enea.sis.jms.SimpleMessageListener">
   <property name="initialContext" ref="xxxInitialContext" />
   <property name="jndiName" value="jms/xxx/LocationConnectionFactory" />
   <property name="queueName" value="xxx/Location/xxx/xxx" />
   <property name="isResponse" value="false" />
   <property name="messageId" value="xxxx" />
   <property name="encConvert" value="${jms.encConvert}" />
</bean>

<jms:listener-container container-type="default" connection-factory="connectionFactory" acknowledge="auto" concurrency="10-50">   
   <jms:listener destination="xxx/Location/xxx/xxx" ref="messageListener-xxx" method="onMessage" />    
</jms:listener-container>

当我运行应用程序时,收到如下警告:

2020-04-27 15:45:04,778  WARN [org.springframework.jms.listener.DefaultMessageListenerContainer#0-82] [org.springframework.jms.listener.DefaultMessageListenerContainer] [Line:882]: Setup of JMS message listener invoker failed for destination 'xxx/Location/xxx/xxx' - trying to recover. Cause: [JMSExceptions:045103]While trying to find a topic or a queue, the specific JMS server requested could not be found. The linked exception may contain more information about the reason for failure. 
2020-04-27 15:45:05,282  INFO [org.springframework.jms.listener.DefaultMessageListenerContainer#0-82] [org.springframework.jms.listener.DefaultMessageListenerContainer] [Line:933]: Successfully refreshed JMS Connection 
2020-04-27 15:45:04,778  WARN [org.springframework.jms.listener.DefaultMessageListenerContainer#0-82] [org.springframework.jms.listener.DefaultMessageListenerContainer] [Line:882]: Setup of JMS message listener invoker failed for destination 'xxx/Location/xxx/xxx' - trying to recover. Cause: [JMSExceptions:045103]While trying to find a topic or a queue, the specific JMS server requested could not be found. The linked exception may contain more information about the reason for failure. 
2020-04-27 15:45:05,282  INFO [org.springframework.jms.listener.DefaultMessageListenerContainer#0-82] [org.springframework.jms.listener.DefaultMessageListenerContainer] [Line:933]: Successfully refreshed JMS Connection 
2020-04-27 15:45:04,778  WARN [org.springframework.jms.listener.DefaultMessageListenerContainer#0-82] [org.springframework.jms.listener.DefaultMessageListenerContainer] [Line:882]: Setup of JMS message listener invoker failed for destination 'xxx/Location/xxx/xxx' - trying to recover. Cause: [JMSExceptions:045103]While trying to find a topic or a queue, the specific JMS server requested could not be found. The linked exception may contain more information about the reason for failure. 
2020-04-27 15:45:05,282  INFO [org.springframework.jms.listener.DefaultMessageListenerContainer#0-82] [org.springframework.jms.listener.DefaultMessageListenerContainer] [Line:933]: Successfully refreshed JMS Connection 

而且还在不断的刷新和恢复

jms:listener 的目的地是什么? 如何监控新创建的并发线程?

【问题讨论】:

  • 应用程序输出最终显示“已成功刷新 JMS 连接”。这不表示连接成功吗?
  • 嗯.. 是的,但是这个输出是迭代的,检查我的编辑。

标签: java jms spring-jms


【解决方案1】:

该 JMS 服务器所针对的 WebLogic Server 实例可能已关闭。 JMS 服务器可能被挂起。检查 JMS 服务器的状态以及集群中服务器之间的通信状态。检查链接的异常以获取有关此失败原因的更多信息。

【讨论】:

    【解决方案2】:

    我遇到了同样的错误。这是我的解决方法。 使用正确的主题名称而不是 jNDI 名称(而是该 JNDI 的值): @JmsListener(目的地=)。 如果要提取 JNDI 的值,请使用 ctx.lookup("JNDI name here")

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 2016-09-11
      • 2012-02-22
      • 2018-04-10
      • 1970-01-01
      • 2016-01-06
      • 2021-05-10
      • 2022-11-07
      • 2013-02-09
      相关资源
      最近更新 更多