【Java】通过@PostConstruct 消费队列怎么不执行?
通过@PostConstruct 启动一个线程去消费队列,
我在另外地方丢了消息到队列,怎么while(true) 咋不消费?
@PostConstructpublic void processOrder() {
ExecutorService e = Executors.newFixedThreadPool(2);
e.execute(() -> {
while (true) {
try {
/**读取队列数据*/
OrderMsg orderMsg = OrderMessageQueue.getQueue().consume();
if (orderMsg != null) {
//匹配工作
log.info("-------------------正在匹配------订单号 {}-------------", orderMsg.getOrderId());
matchService.match(orderMsg.getOrderId(), orderMsg.getOrderId(), orderMsg.getOrderDirection());
}
} catch (InterruptedException ex) {
log.error(ex.getMessage());
}
}
});
}
队列的设计:
回答
以上是 【Java】通过@PostConstruct 消费队列怎么不执行? 的全部内容, 来源链接: utcz.com/a/90690.html