我有一个 Spring Boot 应用程序作为 WAR 部署在 WebLogic Server 中。当对消息的操作失败并且消息被标记为出队时,以下方法不会填充 ActiveMQ.DLQ 。 我的要求是,如果由于任何原因导致数据处理失败,请放入 ActiveMQ.DLQ 。 当任何操作失败时,相同的代码在Spring Boot Embedded tomcat 独立应用程序中可以完美地工作。
`
@JmsListener (destination= "MyMessageQueue")
public void consumeMessage(Message message) throws JMSException {
try {
// some operations with message data
} (CustomException e) {
// If failed push back to ActiveMQ.DLQ to retry after sometime
throw new JMSException("CustomException: " + e.getMessage());
} (Exception e) {
// If failed push back to ActiveMQ.DLQ to retry after sometime
throw new JMSException("Exception: " + e.getMessage());
}
}
`