我在 Ubuntu 14.04 虚拟机上部署了 MyBroker 服务并获得以下日志:apollo.log:
2016-03-07 13:52:28,301 | INFO | java.io.IOException: Connection reset by peer | 1535101acf6
2016-03-07 13:52:28,301 | INFO | java.io.IOException: Connection reset by peer | 1535101acf8
2016-03-07 13:52:28,302 | INFO | java.io.IOException: Connection reset by peer | 1535101acfa
2016-03-07 13:52:28,302 | INFO | java.io.IOException: Connection reset by peer | 1535101acfc
2016-03-07 13:52:28,303 | INFO | java.io.IOException: Connection reset by peer | 1535101acfe
2016-03-07 13:52:28,303 | INFO | java.io.IOException: Connection reset by peer | 1535101ad00
2016-03-07 13:52:28,303 | INFO | java.io.IOException: Connection reset by peer | 1535101ad02
2016-03-07 13:52:37,923 | INFO | java.io.IOException: Connection reset by peer | 1535101ad04
2016-03-07 13:53:07,938 | INFO | java.io.IOException: Connection reset by peer | 1535101ad06
2016-03-07 13:53:27,963 | INFO | java.io.IOException: Connection reset by peer | 1535101ad08
连接日志
2016-03-07 13:53:22,817 connected: local:/127.0.0.1:61613, remote:/127.0.0.1:53221
2016-03-07 13:53:22,825 connected: local:/127.0.0.1:61613, remote:/127.0.0.1:53222
2016-03-07 13:53:22,847 connected: local:/127.0.0.1:61613, remote:/127.0.0.1:53222
2016-03-07 13:53:22,852 connected: local:/127.0.0.1:61613, remote:/127.0.0.1:53221
2016-03-07 13:53:27,045 disconnected: local:/127.0.0.1:61613, remote:/127.0.0.1:53222
2016-03-07 13:53:27,963 Shutting connection '/127.0.0.1:53221' down due to: java.io.IOException: Connection reset by peer
2016-03-07 13:53:27,964 disconnected: local:/127.0.0.1:61613, remote:/127.0.0.1:53221
堆栈跟踪日志
2016-03-04 14:31:40,305 | WARN | stackref=153416c3084
java.lang.ArrayIndexOutOfBoundsException: 32
at org.fusesource.mqtt.codec.SUBSCRIBE.decode(SUBSCRIBE.java:65)
at org.apache.activemq.apollo.mqtt.MqttSession.on_transport_command(MqttSession.java:334)
at org.apache.activemq.apollo.mqtt.MqttSession$3.call(MqttSession.java:142)
at org.apache.activemq.apollo.util.UnitFn1.apply(Scala2JavaHelper.scala:41)
at org.apache.activemq.apollo.mqtt.MqttProtocolHandler.on_transport_command(MqttProtocolHandler.java:377)
at org.apache.activemq.apollo.broker.BrokerConnection.on_transport_command(Connection.scala:144)
at org.apache.activemq.apollo.broker.Connection$$anon$1.onTransportCommand(Connection.scala:71)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport.drain_inbound(WebSocketTransportFactory.scala:480)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport$$anonfun$onMessage$1.apply$mcV$sp(WebSocketTransportFactory.scala:403)
at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:357)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
2016-03-04 14:31:44,370 | WARN | stackref=153416c3088
java.lang.ArrayIndexOutOfBoundsException: 32
at org.fusesource.mqtt.codec.SUBSCRIBE.decode(SUBSCRIBE.java:65)
at org.apache.activemq.apollo.mqtt.MqttSession.on_transport_command(MqttSession.java:334)
at org.apache.activemq.apollo.mqtt.MqttSession$3.call(MqttSession.java:142)
at org.apache.activemq.apollo.util.UnitFn1.apply(Scala2JavaHelper.scala:41)
at org.apache.activemq.apollo.mqtt.MqttProtocolHandler.on_transport_command(MqttProtocolHandler.java:377)
at org.apache.activemq.apollo.broker.BrokerConnection.on_transport_command(Connection.scala:144)
at org.apache.activemq.apollo.broker.Connection$$anon$1.onTransportCommand(Connection.scala:71)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport.drain_inbound(WebSocketTransportFactory.scala:480)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport$$anonfun$onMessage$1.apply$mcV$sp(WebSocketTransportFactory.scala:403)
at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:357)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
2016-03-07 08:47:06,569 | WARN | stackref=153416c320c
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 08:47:07,227 | WARN | stackref=153416c320e
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:35:08,660 | WARN | stackref=153416c3319
java.lang.NullPointerException
at org.apache.activemq.apollo.broker.DeliveryProducerRoute$$anonfun$unbind$1$$anonfun$apply$mcV$sp$4$$anonfun$apply$4.apply(Router.scala:258)
at org.apache.activemq.apollo.broker.DeliveryProducerRoute$$anonfun$unbind$1$$anonfun$apply$mcV$sp$4$$anonfun$apply$4.apply(Router.scala:256)
at scala.collection.TraversableLike$$anonfun$filterNot$1.apply(TraversableLike.scala:274)
at scala.collection.TraversableLike$$anonfun$filterNot$1.apply(TraversableLike.scala:274)
at scala.collection.TraversableLike$$anonfun$filter$1.apply(TraversableLike.scala:264)
at scala.collection.immutable.List.foreach(List.scala:309)
at scala.collection.TraversableLike$class.filter(TraversableLike.scala:263)
at scala.collection.AbstractTraversable.filter(Traversable.scala:105)
at scala.collection.TraversableLike$class.filterNot(TraversableLike.scala:274)
at scala.collection.AbstractTraversable.filterNot(Traversable.scala:105)
at org.apache.activemq.apollo.broker.DeliveryProducerRoute$$anonfun$unbind$1$$anonfun$apply$mcV$sp$4.apply(Router.scala:256)
at org.apache.activemq.apollo.broker.DeliveryProducerRoute$$anonfun$unbind$1$$anonfun$apply$mcV$sp$4.apply(Router.scala:251)
at scala.collection.TraversableLike$$anonfun$filterNot$1.apply(TraversableLike.scala:274)
at scala.collection.TraversableLike$$anonfun$filterNot$1.apply(TraversableLike.scala:274)
at scala.collection.TraversableLike$$anonfun$filter$1.apply(TraversableLike.scala:264)
at scala.collection.immutable.List.foreach(List.scala:309)
at scala.collection.TraversableLike$class.filter(TraversableLike.scala:263)
at scala.collection.AbstractTraversable.filter(Traversable.scala:105)
at scala.collection.TraversableLike$class.filterNot(TraversableLike.scala:274)
at scala.collection.AbstractTraversable.filterNot(Traversable.scala:105)
at org.apache.activemq.apollo.broker.DeliveryProducerRoute$$anonfun$unbind$1.apply$mcV$sp(Router.scala:251)
at org.apache.activemq.apollo.util.DeferringDispatched$$anon$1.run(Dispatched.scala:38)
at org.apache.activemq.apollo.util.DeferringDispatched$$anonfun$dispatch_queue_task_source$1$$anonfun$apply$mcV$sp$1.apply(Dispatched.scala:45)
at org.apache.activemq.apollo.util.DeferringDispatched$$anonfun$dispatch_queue_task_source$1$$anonfun$apply$mcV$sp$1.apply(Dispatched.scala:45)
at scala.collection.immutable.List.foreach(List.scala:309)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
at org.apache.activemq.apollo.util.DeferringDispatched$$anonfun$dispatch_queue_task_source$1.apply$mcV$sp(Dispatched.scala:45)
at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:357)
at org.fusesource.hawtdispatch.internal.HawtCustomDispatchSource$1.run(HawtCustomDispatchSource.java:127)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
2016-03-07 09:37:13,687 | WARN | stackref=153416c334d
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:37:14,493 | WARN | stackref=153416c334f
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:37:15,274 | WARN | stackref=153416c3351
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:37:16,555 | WARN | stackref=153416c3353
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:38:49,275 | WARN | stackref=153416c335f
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:38:50,234 | WARN | stackref=153416c3361
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:38:50,990 | WARN | stackref=153416c3363
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:38:51,752 | WARN | stackref=153416c3365
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 09:38:52,515 | WARN | stackref=153416c3367
java.lang.ArrayIndexOutOfBoundsException
2016-03-07 10:48:21,306 | WARN | stackref=1535072b8fc
java.lang.ArrayIndexOutOfBoundsException: 80
at org.fusesource.mqtt.codec.SUBSCRIBE.decode(SUBSCRIBE.java:65)
at org.apache.activemq.apollo.mqtt.MqttSession.on_transport_command(MqttSession.java:334)
at org.apache.activemq.apollo.mqtt.MqttSession$3.call(MqttSession.java:142)
at org.apache.activemq.apollo.util.UnitFn1.apply(Scala2JavaHelper.scala:41)
at org.apache.activemq.apollo.mqtt.MqttProtocolHandler.on_transport_command(MqttProtocolHandler.java:377)
at org.apache.activemq.apollo.broker.BrokerConnection.on_transport_command(Connection.scala:144)
at org.apache.activemq.apollo.broker.Connection$$anon$1.onTransportCommand(Connection.scala:71)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport.drain_inbound(WebSocketTransportFactory.scala:480)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport$$anonfun$onMessage$1.apply$mcV$sp(WebSocketTransportFactory.scala:403)
at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:357)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
2016-03-07 10:51:57,043 | WARN | stackref=1535072b916
java.lang.ArrayIndexOutOfBoundsException: 80
at org.fusesource.mqtt.codec.SUBSCRIBE.decode(SUBSCRIBE.java:65)
at org.apache.activemq.apollo.mqtt.MqttSession.on_transport_command(MqttSession.java:334)
at org.apache.activemq.apollo.mqtt.MqttSession$3.call(MqttSession.java:142)
at org.apache.activemq.apollo.util.UnitFn1.apply(Scala2JavaHelper.scala:41)
at org.apache.activemq.apollo.mqtt.MqttProtocolHandler.on_transport_command(MqttProtocolHandler.java:377)
at org.apache.activemq.apollo.broker.BrokerConnection.on_transport_command(Connection.scala:144)
at org.apache.activemq.apollo.broker.Connection$$anon$1.onTransportCommand(Connection.scala:71)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport.drain_inbound(WebSocketTransportFactory.scala:480)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport$$anonfun$onMessage$1.apply$mcV$sp(WebSocketTransportFactory.scala:403)
at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:357)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
2016-03-07 13:30:06,035 | WARN | stackref=1535101abf7
java.lang.ArrayIndexOutOfBoundsException: 32
at org.fusesource.mqtt.codec.SUBSCRIBE.decode(SUBSCRIBE.java:65)
at org.apache.activemq.apollo.mqtt.MqttSession.on_transport_command(MqttSession.java:334)
at org.apache.activemq.apollo.mqtt.MqttSession$3.call(MqttSession.java:142)
at org.apache.activemq.apollo.util.UnitFn1.apply(Scala2JavaHelper.scala:41)
at org.apache.activemq.apollo.mqtt.MqttProtocolHandler.on_transport_command(MqttProtocolHandler.java:377)
at org.apache.activemq.apollo.broker.BrokerConnection.on_transport_command(Connection.scala:144)
at org.apache.activemq.apollo.broker.Connection$$anon$1.onTransportCommand(Connection.scala:71)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport.drain_inbound(WebSocketTransportFactory.scala:480)
at org.apache.activemq.apollo.broker.jetty.WebSocketTransportFactory$WebSocketTransport$$anonfun$onMessage$1.apply$mcV$sp(WebSocketTransportFactory.scala:403)
at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:357)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
我的假设是具有 Ubuntu 14.04(和 1,5 GB RAM)的虚拟机无法处理所有服务(在同一台机器上还运行其他服务,如 Tomcat) - 有人根据发布的日志文件有想法吗?(我只在 stacktrace.log 中看到线程的 NullPointException)