容器线程命名
一个任务执行者用于调用消费者和听者。
你可以通过设置消费者执行者容器的财产容器属性.
使用池化执行程序时,确保有足够的线程以处理所有容器间的并发。
当使用ConcurrentMessageListenerContainer,执行者对每个消费者使用一个线程(并发).
如果您不提供消费者遗嘱执行人,则SimpleAsyncTaskExecutor用于每个容器。
该执行者创建的线程名称类似于<豆名>-C-<>.
对于ConcurrentMessageListenerContainer这<豆名>线程名称的一部分变为<豆名>-m哪里m表示消费者实例。n每次容器启动时都会递增。
因此,豆子名为容器,该容器中的线程将被命名集装箱-0-C-1,集装箱-1-C-1等等,在容器第一次启动后;集装箱-0-C-2,集装箱-1-C-2等等,在停止和随后开始之后。
从版本开始3.0.1,现在无论使用哪个执行者,都可以更改线程名称。
设置AbstractMessageListenerContainer.changeConsumerThreadName属性到true以及AbstractMessageListenerContainer.threadNameSupplier将被调用以获取线程名称。
这是一艘Function<MessageListenerContainer, String>,默认实现返回container.getListenerId().