【发布时间】:2019-09-14 14:10:08
【问题描述】:
我尝试使用上面编写的技术运行简单的测试项目,但出现奇怪的异常并且找不到解决方案。 我使用 Windows 7 和 docker 在主机上工作:192.168.99.100。 rabbitmq 的管理面板,地址为http://192.168.99.100:15672,运行良好。
应用程序属性:
spring.rabbitmq.host=192.168.99.100
spring.rabbitmq.port=15672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
jsa.rabbitmq.queue=jsa.queue
组件:
@Component
public class Consumer {
@RabbitListener(queues="${jsa.rabbitmq.queue}")
public void recievedMessage(String msg) {
System.out.println("Recieved Message: " + msg);
}
}
堆栈跟踪:
2019-09-14 16:00:54.677 ERROR 4532 --- [68.99.100:15672] c.r.c.impl.ForgivingExceptionHandler : An unexpected connection driver error occured
java.net.SocketException: Socket Closed
at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_201]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[na:1.8.0_201]
at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[na:1.8.0_201]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_201]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[na:1.8.0_201]
at java.io.BufferedInputStream.read(BufferedInputStream.java:265) ~[na:1.8.0_201]
at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:288) ~[na:1.8.0_201]
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:91) ~[amqp-client-4.0.2.jar:4.0.2]
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164) ~[amqp-client-4.0.2.jar:4.0.2]
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:571) ~[amqp-client-4.0.2.jar:4.0.2]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]
为什么主机被部分读取,我该如何处理?
【问题讨论】:
-
看起来服务器崩溃或重新启动。检查服务器日志。
-
感谢您的回答。是的,服务器确实启动和停止了几次。你能告诉我是什么原因以及我该如何处理吗?我使用来自 docker hub 的图像 rabbitmq:management。也许是图像的原因?
-
你是对的,它有帮助=)谢谢你这么匹配)
标签: java spring-boot docker rabbitmq