while (falg)
{
debuglogger.info("find msg of: " + acid);
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String text = new String(delivery.getBody());
// 解析消息
String from = "";
String to = "";
。。。。。。。。
}
当我试着去关闭 channel 通道的时候。。报以下错误:
com.rabbitmq.client.ShutdownSignalException: clean channel shutdown; reason: #method<channel.close>(reply-code=200, reply-text=OK, class-id=0, method-id=0)
at com.rabbitmq.client.QueueingConsumer.handle(QueueingConsumer.java:198)
at com.rabbitmq.client.QueueingConsumer.nextDelivery(QueueingConsumer.java:214)
at com.handbb.dating.mq.MQMsgMrg.recmsg(MQMsgMrg.java:251)
at com.handbb.dating.action.UserAction$1.run(UserAction.java:156)
Caused by: com.rabbitmq.client.ShutdownSignalException: clean channel shutdown; reason: #method<channel.close>(reply-code=200, reply-text=OK, class-id=0, method-id=0)
at com.rabbitmq.client.impl.ChannelN.close(ChannelN.java:521)
at com.rabbitmq.client.impl.ChannelN.close(ChannelN.java:480)
at com.rabbitmq.client.impl.ChannelN.close(ChannelN.java:473)
at com.handbb.dating.mq.MQMsgMrg.closeMq(MQMsgMrg.java:519)
at com.handbb.dating.action.UserAction.userlogout(UserAction.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
原因可能能为我还在不停的从队列中去接受消息,现在去关闭channel的时候。发生异常。。
现在问题是。我要怎么去合理的关闭channel,不会发生异常,或者理解为。怎么样去更好的接受消息??
求好心人指点。。谢谢。。。
分享到:
相关推荐
例如,在备份数据库、还原数据库、执行大型表重建任务或更改数据库结构时,断开所有用户连接可以避免潜在的数据冲突和锁定问题。 ### 知识点三:使用存储过程断开所有用户连接 为了自动化这一过程,可以创建一个...
- 关闭和断开连接:确保在完成操作后关闭队列和队列管理器,释放资源。 ```java queue.close(); queueManager.disconnect(); ``` 5. **运行和调试**:编译并运行Java程序,确保一切按预期工作。如果遇到问题,...
这有助于解决网络连接问题,优化网络体验,以及确保网络安全。在处理WiFi问题时,分析相关日志文件(如上述的"WifiDisconnect1"和"WifiManagement1"),结合UUID/GUID信息,通常能提供关键线索,帮助找出并修复问题...
8. 更新和补丁:有时,操作系统更新或补丁可能导致远程桌面连接问题。检查是否有已知的问题,并尝试安装最新的更新和补丁。 9. devcon.exe工具:这个文件是一个设备管理工具,由Microsoft提供。在处理远程桌面连接...
在IT行业中,网络连接是应用程序运行的重要组成部分,特别是在开发过程中,有时我们需要对进程进行网络控制,比如断开其网络连接。易语言,一种简洁而直观的编程语言,为初学者提供了方便的学习途径。本源码着重讲解...
本篇文章将深入探讨如何使用`TIdTCPServer`处理客户端连接的建立与断开,以及在实际应用中可能遇到的问题和解决策略。 `TIdTCPServer`组件允许开发人员轻松地构建多线程的TCP服务器,它支持多个并发客户端连接。当...
监控MQ连接的状态至关重要,因为它能帮助我们及时发现并解决问题,比如连接断开、网络延迟等。通常,我们会设置心跳机制,定期发送测试消息以检测连接是否正常,并通过日志记录和报警系统来报告异常情况。 6. **...
但是如果手动断开远程桌面连接,远程桌面就会进入无桌面状态,此时RPA程序或GUI自动测试程序就无法正常运行。通过这个脚本可以实现在断开远程桌面连接的同时桌面不会被关闭。每次退出远程桌面时,先运行此脚本,这样...
标题“svn本地文件夹断开服务器连接”涉及的是在使用Subversion(简称svn)作为版本控制系统时,如何从本地工作副本中移除与服务器的连接并清理掉相关的.svn隐藏文件夹。Subversion是一个广泛使用的分布式版本控制...
实际开发中,可能还需要处理各种异常情况,如权限问题、网络连接失败等,以及优化用户体验,如加载进度提示、错误提示等。通过这些功能,你的应用就能提供一个完整的WiFi管理体验,满足用户需求。
- **驱动程序或固件过时**:不兼容的驱动程序或旧的固件版本可能引发连接问题。 - **会话超时**:如果ISCSI会话长时间无活动,可能会自动断开以节省资源。 3. **解决步骤**: - **检查网络**:确保网络连接稳定...
在IT行业中,`DELPHI连接MQ`是一个关于使用Embarcadero Delphi编程语言与IBM MQ(原名WebSphere MQ)进行通信的主题。IBM MQ是业界广泛采用的消息中间件,用于在分布式系统中可靠地传递消息。Delphi,作为一款强大的...
标题提到的"w5500TCP server解决有时连接断开问题",主要涉及的是在TCP通信中如何处理连接稳定性和保持长连接的问题。TCP协议虽然提供了可靠的传输,但在某些情况下,如网络波动、路由器重置或设备休眠,可能会导致...
SVN客户端 断开连接 : 如不放心可编辑查看该reg文件,双击执行,会将delete SVN Folders 加至右键快捷菜单,选中目标文件夹,右击执行,可把全部.svn文件删除,断开与svn服务器连接
TCP 连接非正常断开检测 在网络通信中,TCP 连接的非正常断开是指在非优雅的方式下断开连接,例如网线故障、物理链路中断、主机断电等原因引起的连接断开。如何及时检测出这种非正常断开的 TCP 连接是非常重要的。 ...
总的来说,VB.NET提供了丰富的工具来处理网络连接,包括检查连接状态,但启用和断开网络连接通常需要更深入的系统编程知识。对于非临时性的网络控制,推荐使用操作系统的网络设置或用户界面进行交互。对于开发者来说...
在使用QT进行TCP服务器开发时,一个常见的需求是检测客户端是否已经断开了连接。这篇文章将介绍如何在QT中实现这一功能,特别是在C++环境中。QT提供了丰富的网络编程接口,其中包括`QAbstractSocket`类,该类包含了...
在本文中,我们将深入探讨如何使用PowerBuilder(PB)实现拨号连接的启动、断开和连接功能。 拨号连接在早期的网络环境中非常常见,尤其在家庭用户和小型办公室中,通过调制解调器拨号接入Internet是主要的上网方式...
在探讨如何断开ArcSDE服务器的所有连接之前,我们首先需要了解ArcSDE的基本概念以及其在地理信息系统(GIS)中的角色。ArcSDE是由Esri开发的一种空间数据库引擎,用于存储、管理和分发地理空间数据。ArcSDE能够与...
总的来说,连接二值图像中断开的点是一个涉及多步骤、多技术的问题,需要对MATLAB的图像处理函数有深入的理解和熟练的应用。通过不断的学习和实践,我们可以有效地处理这类问题,提高图像分析的准确性和效率。