報(bào)錯(cuò)信息
org.springframework.amqp.AmqpTimeoutException: java.util.concurrent.TimeoutException
?? ?at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:73) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:602) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:725) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:252) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:2210) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:2183) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:2163) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueInfo(RabbitAdmin.java:463) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueProperties(RabbitAdmin.java:447) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.attemptDeclarations(AbstractMessageListenerContainer.java:1939) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.redeclareElementsIfNecessary(AbstractMessageListenerContainer.java:1914) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.initialize(SimpleMessageListenerContainer.java:1377) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1223) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]
Caused by: java.util.concurrent.TimeoutException: null
?? ?at com.rabbitmq.utility.BlockingCell.get(BlockingCell.java:77) ~[amqp-client-5.13.1.jar:5.13.1]
?? ?at com.rabbitmq.utility.BlockingCell.uninterruptibleGet(BlockingCell.java:120) ~[amqp-client-5.13.1.jar:5.13.1]
?? ?at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) ~[amqp-client-5.13.1.jar:5.13.1]
?? ?at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:502) ~[amqp-client-5.13.1.jar:5.13.1]
?? ?at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:326) ~[amqp-client-5.13.1.jar:5.13.1]
?? ?at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1225) ~[amqp-client-5.13.1.jar:5.13.1]
?? ?at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1173) ~[amqp-client-5.13.1.jar:5.13.1]
?? ?at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connectAddresses(AbstractConnectionFactory.java:640) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connect(AbstractConnectionFactory.java:615) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:565) ~[spring-rabbit-2.4.8.jar:2.4.8]
?? ?... 12 common frames omitted
解決辦法
????? SpringBoot中,關(guān)于RabbitMQ的配置文件端口號(hào)寫錯(cuò)了,應(yīng)該改成5672
分析原因
一、端口號(hào)解析
1、4369 (epmd), 25672 (Erlang distribution)
??? Epmd 是 Erlang Port Mapper Daemon 的縮寫,在 Erlang 集群中相當(dāng)于 dns 的作用,綁定在4369端口上。
2、5672, 5671 (AMQP 0-9-1 without and with TLS)
??? AMQP 是 Advanced Message Queuing Protocol 的縮寫,一個(gè)提供統(tǒng)一消息服務(wù)的應(yīng)用層標(biāo)準(zhǔn)高級(jí)消息隊(duì)列協(xié)議,是應(yīng)用層協(xié)議的一個(gè)開(kāi)放標(biāo)準(zhǔn),專為面向消息的中間件設(shè)計(jì)?;诖藚f(xié)議的客戶端與消息中間件之間可以傳遞消息,并不受客戶端/中間件不同產(chǎn)品、不同的開(kāi)發(fā)語(yǔ)言等條件的限制。Erlang 中的實(shí)現(xiàn)有 RabbitMQ 等。
3、15672 (if management plugin is enabled)
??? 通過(guò) http://serverip:15672 訪問(wèn) RabbitMQ 的 Web 管理界面,默認(rèn)用戶名密碼都是 guest。(注意:RabbitMQ 3.0之前的版本默認(rèn)端口是55672,下同)
4、61613, 61614 (if STOMP is enabled)
??? Stomp 是一個(gè)簡(jiǎn)單的消息文本協(xié)議,它的設(shè)計(jì)核心理念就是簡(jiǎn)單與可用性,官方文檔,實(shí)踐一下 Stomp 協(xié)議需要:
??????? 一個(gè)支持 stomp 消息協(xié)議的 messaging server (譬如activemq,rabbitmq);
??????? 一個(gè)終端(譬如linux shell);
??????? 一些基本命令與操作(譬如nc,telnet)
5、1883, 8883 (if MQTT is enabled)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-740210.html
??? MQTT 只是 IBM 推出的一個(gè)消息協(xié)議,基于 TCP/IP 的。兩個(gè) App 端發(fā)送和接收消息需要中間人,這個(gè)中間人就是消息服務(wù)器(比如ActiveMQ/RabbitMQ),三者通信協(xié)議就是 MQTT
??? 可以通過(guò)配置RabbitMQ來(lái)使用其它端口。
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-740210.html
到了這里,關(guān)于史上最簡(jiǎn)單RabbitMQ中IO流異常的解決 org.springframework.amqp.AmqpIOException: java.io.IOException 超級(jí)簡(jiǎn)單的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!