[英]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.