Why not execute through the @ PostConstruct consumption queue?

start a thread to consume the queue through @ PostConstruct.
I lost the message to the queue somewhere else, so why doesn"t while (true) consume it?

@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());
            }
        }
    });
   }
   :
   

clipboard.png

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e9bcb3-4765e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e9bcb3-4765e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?