我有以下RabbitMQ侦听器:
class TestClass {
private ThreadLocal<Integer> myThreadLocal =
new ThreadLocal<Integer>() {
@Override public Integer initialValue() {
return 0;
}
};
@RabbitListener("${test.queue}")
public void listener(Message message) {
// some logic
incrementThreadLocalValueByOne();
// some logic
if(/*some condition*/) {
deadletterMessagetoTestQueue();
} else {
doSomethingElse();
}
}
}
程序是粗略编写的。方法如其名称所示。
我的问题是这个
调用 deadletterMessagetoTestQueue()方法时,将消息再次发送到 test.queue
如果这样做,则意味着线程将用0重新初始化。什么是静态线程?
让我知道问题是否需要更清楚。谢谢:)