JMS侦听器未从队列中拾取消息
我计划对一个现有的应用程序进行代码更改,该应用程序有一个JMS侦听器 为了测试侦听器是否在本地服务器上工作,我将应用程序部署到本地主机,并关闭运行同一应用程序的其他容器 但我当地的听众不会听到任何消息。已确认其他容器工作正常,可以拾取和处理队列中的新消息JMS侦听器未从队列中拾取消息,jms,Jms,我计划对一个现有的应用程序进行代码更改,该应用程序有一个JMS侦听器 为了测试侦听器是否在本地服务器上工作,我将应用程序部署到本地主机,并关闭运行同一应用程序的其他容器 但我当地的听众不会听到任何消息。已确认其他容器工作正常,可以拾取和处理队列中的新消息 你能想出任何可能的原因吗?太笼统了,遗漏了太多的要点……但有一些问题需要注意: 如果消息队列位于不同的服务器上,您可以从本地设备ping它吗?可能是开发环境看不到生产服务器 如果netstat-n显示了正确的端口号,您应该会看到一个远程端口,
你能想出任何可能的原因吗?太笼统了,遗漏了太多的要点……但有一些问题需要注意:
- 如果消息队列位于不同的服务器上,您可以从本地设备ping它吗?可能是开发环境看不到生产服务器
- 如果netstat-n显示了正确的端口号,您应该会看到一个远程端口,其中包含消息提供程序正在侦听的端口
- 您能否验证消息传递提供商是否将您视为消费者?我使用activemq,我可以查看管理控制台,深入到特定队列,并查看活动使用者,大多数提供者都会有类似的功能
- 您是否在相同的环境中运行?在队列是jndi引用的JEE环境中运行侦听器可能与在需要实际队列名称的调试器中运行侦听器不同
- 任何正在进行的JMS过滤,其中本地环境的过滤器与队列中已有的过滤器不匹配
- 是否有任何事务管理器的东西可能会妨碍您
同样,只是扔东西看看什么东西粘在墙上,但这些都是非常明显的事情。太笼统了,遗漏了太多的点……但有些事情需要注意:
- 如果消息队列位于不同的服务器上,您可以从本地设备ping它吗?可能是开发环境看不到生产服务器
- 如果netstat-n显示了正确的端口号,您应该会看到一个远程端口,其中包含消息提供程序正在侦听的端口
- 您能否验证消息传递提供商是否将您视为消费者?我使用activemq,我可以查看管理控制台,深入到特定队列,并查看活动使用者,大多数提供者都会有类似的功能
- 您是否在相同的环境中运行?在队列是jndi引用的JEE环境中运行侦听器可能与在需要实际队列名称的调试器中运行侦听器不同
- 任何正在进行的JMS过滤,其中本地环境的过滤器与队列中已有的过滤器不匹配
- 是否有任何事务管理器的东西可能会妨碍您
再说一次,只是扔东西看看什么东西粘在墙上,但这些是非常明显的事情。谢谢斯科特回答我的问题
我最终发现Eclipse以某种方式创建了另一个容器,并将我的侦听器部署到其中。这就是为什么我在当前容器中找不到它工作的原因。感谢Scott回答我的问题 我最终发现Eclipse以某种方式创建了另一个容器,并将我的侦听器部署到其中。这就是为什么我无法在当前容器中找到它