請問一下,同樣的代碼,啟動時(shí)消費(fèi)者沒有連接上MQ服務(wù)器如何解決
我用的配置文件是yml形式,生產(chǎn)者那邊配置沒問題,可以正常連接服務(wù)器并發(fā)送消息。
消費(fèi)者這邊一樣的,并且可以正常啟動SpringBootApplication,但是在控制臺中rabbitConnectionFactory已經(jīng)注冊了,之后卻沒有連接服務(wù)器的操作,同時(shí)控制臺輸出也為空,沒有進(jìn)入Receiver類。以下是控制臺輸出,Receiver類和yml配置文件,請問一下是哪里沒有配置正確。
application.yml #rabbitmq基礎(chǔ)配置 spring: ??rabbitmq: ????addresses:?127.0.0.1:5672 ????username:?guest ????password:?guest ????virtual-host:?/ ????connection-timeout:?15000 #rabbitmq消費(fèi)者配置 ????listener: ??????simple: ????????concurrency:?5 ????????max-concurrency:?10 ????????acknowledge-mode:?manual ????????prefetch:?1 ??http: ????encoding:?UTF-8 ??jackson: ????date-format:?yyyy-MM-dd?HH:mm:ss ????time-zone:?GMT+8 ????default-property-inclusion:?non_null server: ??servlet: ????context-path:?/ ??port:?8002
@Component public?class?OrderReceiver?{ ????//Rabbit以注解的形式進(jìn)行監(jiān)聽 ????@RabbitListener( ????????????bindings?=?@QueueBinding( ????????????????????value?=?@Queue(value?=?"order-queue",?durable?=?"true"), ????????????????????exchange?=?@Exchange(value?=?"order-exchange"?,?type?=?"topic"), ????????????????????key?=?"order.#" ????????????) ????) ????@RabbitHandler ????public?void?onOrderMsg(@Payload?Order?order?,?@Headers?Map<String,Object>?headers,?Channel?channel)?throws?IOException?{ ????????//消費(fèi)者操作 ????????System.err.println("消費(fèi)者活動"); ????????System.out.println("訂單ID:?"?+?order.getId()); ????????Long?deliveryTag?=?(Long)?headers.get(AmqpHeaders.DELIVERY_TAG); ????????//手工模式,響應(yīng)ACK ????????channel.basicAck(deliveryTag,?false); ????}
2022-03-25
已經(jīng)連接了MongoDB,不缺。函數(shù)里面加一個(gè)exit,解決
2018-10-17
問題大致解決,參考了樓上朋友出現(xiàn)的問題。我用的idea,按照視頻上那樣把SpringBoot入口包和項(xiàng)目的包同級放的話,就不會自動調(diào)用到項(xiàng)目包中的bean,把項(xiàng)目包放在入口包的子級以后,雖然還有報(bào)錯,但是已經(jīng)可以連上MQ服務(wù)器了。