我们有一个Java侦听器,它从JBossMQ的队列中读取文本消息。如果必须重新启动JBoss,则侦听器将不会重新连接并重新开始阅读消息。我们只是每2分钟在侦听器的日志文件中收到一条消息,指出该消息无法连接。我们在代码或JBossMQ中没有设置什么吗?我是JMS的新手,因此将非常感谢您的帮助。谢谢。
您应该在客户端代码中实现javax.jms.ExceptionListener。您将需要一个名为onException的方法。当客户端的连接断开时,您应该得到一个JMSException,并且此方法将被自动调用。您唯一需要注意的是,如果您有意与JBossMQ断开连接-
这也会引发异常。
一些代码可能看起来像这样:
public void onException (JMSException jsme)
{
if (!closeRequested)
{
this.disconnect();
this.establishConnection(connectionProps, queueName, uname, pword, clientID, messageSelector);
}
else
{
//Client requested close so do not try to reconnect
}
}
然后,在“建立连接”代码中,将实现一个while(!initialized)
在其中包含try / catch
的构造。在确定已正确连接并订阅之前,请留在while循环中,以捕获所有JMS / Naming / etc。例外。
我们在JBossMQ中使用这种方法已有多年,并且效果很好。弹跳JBossMQ或失去网络连接后,我们的JMS客户端不重新连接就不会有问题。
现在当我启动基于spring的应用程序时。我在调试器中看到,我的侦听器方法注册了,但是Spring不连接到ActiveMQ队列,我可以通过查看ActiveMQ web控制台轻松地看到这一点。此外,我没有看到任何来自spring的日志输出,而JMS的东西是这样做的。 我错过什么了吗?从这里走下去最好的路是什么?当然,我也测试了从ActiveMQ的web控制台中发送消息,但是如果没有客户端连接,就没有
我有Spring启动应用程序,它通过注释从组件类中侦听 IBM MQ 队列。MQ 属性(主机名、通道、端口等)是从 yaml 文件设置的。 MQ 依赖项在分级构建中添加,如下所示: 这可以正常工作,只要我使用Tomcat容器在本地运行应用程序即可侦听消息。但是,如果我将其打包为 EAR 并部署到 Wesbphere8.5 服务器,它将引发以下异常,并且侦听器未从队列中读取消息。我确认所有运行时依赖
1天前 嗨,当试图根据http://wso2.org/project/esb/java/4.0.3/docs/samples/transport_samples.html/sample250使用wso2 esb侦听来自JMS队列的消息时,我遇到了一个异常,如下所示 XML解析错误:格式不正确的位置: org.apache.axis2.axisfault:系统无法从jms://jmslistener
MyAlertDialog在尝试将上下文设置为侦听器时抛出ClassCastException。我正在从片段调用MyAlertDailog。 我正在使用在android开发文档中找到的指南。 https://developer.android.com/guide/topics/ui/dialogs#PassingEvents 我的片段 MyAlertDialog 错误报告
我收到以下错误消息 JAVAsql。SQLException:Listener拒绝了连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID 原因:甲骨文。网纳什。NetException:侦听器拒绝连接,出现以下错误:ORA-12505,TNS:侦听器当前不知道连接描述符中给出的SID 请帮我这个...
我使用JMS从IBM MQ message Broker发送接收消息。我目前正在处理侦听器服务,抛出未处理的异常和消息发送回队列而没有确认。我希望服务重试一个可配置的次数,并抛出表示监听器服务不可用的完全异常消息。 我的监听器和容器工厂如下所示。