java - 死信队列会创建新线程吗?
问题描述
我有以下 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。什么是线程是静态的?
让我知道问题是否需要更清楚。谢谢 :)
解决方案
推荐阅读
- python - 提示用户仅输入大于 1 的整数的错误处理
- sql - 从插入结果更新表
- apache - htaccess 重定向并将网站页面显示为子域
- python - 序列化程序中具有验证响应的模型字段长度约束
- ionic-framework - 我在运行 Ionic 应用程序时遇到错误
- tensorflow - NVidia 1080ti eGPU Ubuntu 16.04.5 LTS - PyTorch / Tensorflow 没有 root 权限
- imagemagick - 如何转换名称中带有空格的文件imagemagick
- ios - 单击模态 ViewController 上的按钮,然后转到新页面 swift 4
- aws-lambda - 如何在 Messenger 上向我的 Amazon Lex 聊天机器人添加 Web 视图?
- ios - 无法在模拟器 Xcode 10 中构建我的项目