加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – RabbitMQ com.rabbitmq.client.AlreadyClosedException

发布时间:2020-12-15 02:13:16 所属栏目:Java 来源:网络整理
导读:我使用rabbitmq作为代理,在我的不同应用程序之间发送请求和响应.虽然我面临着来自rabbitmq的奇怪行为.它在处理2500到3000条记录后给了我这个例外. com.rabbitmq.client.AlreadyClosedException: connection is already closed due to connection error; caus
我使用rabbitmq作为代理,在我的不同应用程序之间发送请求和响应.虽然我面临着来自rabbitmq的奇怪行为.它在处理2500到3000条记录后给了我这个例外.

com.rabbitmq.client.AlreadyClosedException: connection is already
closed due to connection error; cause: java.net.SocketException:
Connection reset at
com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:195)
~[amqp-client-3.5.6.jar:na] at
com.rabbitmq.client.impl.AMQChannel.transmit(AMQChannel.java:309)
~[amqp-client-3.5.6.jar:na]

还有一件事,当我试图在客户端运行它时,消息之间有2秒的延迟,这个问题确实发生了.这是我试图发布消息的代码.

try {
          byte[] e = jsonMessage.getBytes(RabbitConf.COMMUNICATION_ENCODING);
          this.channel.basicPublish(exchangeType.name(),rountingKey.name(),(BasicProperties)null,e);
      } catch (IOException var6) {
          this.LOG.error("IOException when sending data to rabbit:",var6);
       }

我正在为我的客户端使用amqp-client 3.6.0.
任何建议都将受到欢迎.

解决方法

您可以尝试使用qos值(尽管从文档中不清楚这是否对发布方有影响):

this.channel.basicQos(1);

见:http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/Channel.html#basicQos-int-.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读