【问题标题】:activemq & Glassfish : InactivityIOException: Channel was inactive for too longactivemq 和 Glassfish:InactivityIOException:通道太长时间处于非活动状态
【发布时间】:2015-05-13 07:10:20
【问题描述】:

我的系统有以下部分:

  • ActiveMQ 5.8.0
  • Glassfish 3.0 上部署了 4 个耳朵
  • 连接到部署在 Glassfish 上的 Web 服务的 .net 客户端

(这些似乎都没有使用activemq)

系统可以完美运行数月,直到出现 InactivityIOException (ActiveMQ) 失败

2015-03-11 08:23:17,369 警告 |传输连接到:tcp://127.0.0.1:33130 > 失败: org.apache.activemq.transport.InactivityIOException:通道是 太长(>30000)不活动:tcp://127.0.0.1:33130 | org.apache.activemq.broker.TransportConnection.Transport |活动MQ InactivityMonitor Worker

一段时间后 Glassfish 崩溃

|2015-03-11T08:37:08.845+0100|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=120519;_ThreadName=Thread-2; |2015-03-11 08:34:30,418 [0.1:61616@33130] 错误 ActiveMQEndpointWorker - 与代理的连接失败:java.io.EOFException javax.jms.JMSException:java.io.EOFException 在 org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) 在 org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1969) 在 org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1988) 在 org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) 在 org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126) 在 org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) 在 org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) 在 org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:160) 在 org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:332) 在 org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96) 在 org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:200) 在 java.lang.Thread.run(Thread.java:744) 引起: java.io.EOFException 在 java.io.DataInputStream.readInt(DataInputStream.java:392) 在 org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275) 在 org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221) 在 org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213) 在 org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) ... 1 更多 |#] [#|2015-03-11T08:45:44.211+0100|警告|glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=19;_ThreadName=Thread-2;|GRIZZLY0023: 中断空闲线程:http-thread-pool-8080(4).|#]

我读了ActiveMQ:'channel inactive for too long' exceptions stop broker messaging,但我不想停止 InactivityMonitor,设置更高的超时值并不能解决我的问题(只是推迟它),问题是:为什么我会收到这个 inactivityException 以及为什么 GF出去玩?

【问题讨论】:

    标签: java glassfish activemq


    【解决方案1】:

    我认为应该禁用 inactivityMonitor。如果您需要它在生产环境中启动并运行,那么您应该使用配置文件中的属性来配置此行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多