【Java】通过@PostConstruct 消费队列怎么不执行?

通过@PostConstruct 启动一个线程去消费队列,
我在另外地方丢了消息到队列,怎么while(true) 咋不消费?

@PostConstruct

public 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 消费队列怎么不执行?

回答

以上是 【Java】通过@PostConstruct 消费队列怎么不执行? 的全部内容, 来源链接: utcz.com/a/90690.html

回到顶部