日期:2014-05-18  浏览次数:20998 次

ActiveMQ EOFException ,急需解决!
最近出现开发中出现了一个问题:
创建JMS连接工厂和目的地之后,可以正常的发送接收消息。
但是当我把JMS连接工厂删除的时候,ActiveMQ的后台会抛出
 INFO | Transport failed: java.io.EOFException
log文件里的信息:
2013-03-08 15:34:13,977 | INFO  | Transport failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:50643

整个问题Google查了两天,还是没有解决。我的尝试如下:
1.Google时查到http://blog.csdn.net/zeo112140/article/details/8016209?reload
文章说“MQ配置文件里配置了ProducerFlowControl='true',而且memorylimit过小导致的。”我按照文章的说法做了修改,没有起做用。

2.在官方论坛和Wiki里看到了关于  <transportConnector name="openwire" uri="tcp://localhost:61616"/>这个的url后面加上超时时间限制,设置为0时表示不限制wireFormat.maxInactivityDuration=0,不起作用。

3.从代码debug,发现ActiveMQ会起两个线程InactivityMonitor,一起在不断分析,如果有异常应该是该类抛出的。但是每次debug时先把断点加到EOFException类里,其实并不抛出异常,但真正做删除操作时,该断点又没有在此断

希望高手指点!谢谢!
activemq activemqEOFException jms

------解决方案--------------------
http://www.cnblogs.com/CopyPaster/archive/2012/04/27/2473179.html
希望对你有帮助;你的这种错误,我没有碰到过。
activeMq应用上的这种问题,一般别人很难回答,只能自己解决。多数是应用不当导致;