簡體   English   中英

使用spring-rabbit,spring-amqp。 如何設置使用SimpleMessageListenerContainer.start()啟動的偵聽器線程的線程名稱

[英]Using spring-rabbit, spring-amqp. How to set thread-name of listener thread started using SimpleMessageListenerContainer.start()

使用SimpleMessageListenerContainer.start()啟動客戶端計算機中的偵聽器線程,以偵聽來自RabbitMQ的消息。 所有偵聽器線程的名稱都為SimpleAsyncTaskExecutor-1。 用戶是否可以提供/設置偵聽器線程名稱的方法(通過查看線程名稱並關聯該線程所屬的部分代碼來幫助解決問題)

以下是我目前的實現摘要-

我正在使用帶有以下標記的xml文件來定義連接工廠,隊列,綁定等。例如,使用的XML標記為Rabbit:queues,Rabbit:queue-arguments,Rabbit:direct-exchange,Rabbit:topic-exchange,Rabbit:bindings ,Rabbit:binding,Rabbit:Admin(帶有ConnectionFactory)

以下是啟動偵聽器的代碼段---

SimpleMessageListenerContainer container= new SimpleMessageListenerContainer();
container.setConnectionFactory(messagingTopology.getConnectionFactory());
container.setQueueNames(new String[] { messagingTopology.getQueue().getName() });
MessageListenerAdapter adapter = new MessageListenerAdapter(listener); 
container.setMessageListener(adapter); 
container.start();

在偵聽器容器上設置taskExecutor (XML中的task-executor )屬性。 線程名稱基於執行者的Bean名稱,因此對每個容器使用不同的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM