SubscribableJmsChannel错误?

时间:2016-03-19 00:01:19

标签: spring spring-integration activemq-artemis

在onMessage事件中,如果消息未转换为Spring Integration消息,它将尝试使用MessageBuilder重建它。但它并没有包含标题。这似乎不正确。我们正在使用Apache Artemis 1.2和Spring 4.2.5。

以下是SubscribableJmsChannel中的相关代码:

public void onMessage(javax.jms.Message message) {
    Message<?> messageToSend = null;
    try {
        Object converted = this.jmsTemplate.getMessageConverter().fromMessage(message);
        if (converted != null) {
            messageToSend = (converted instanceof Message<?>) ? (Message<?>) converted
                    : this.messageBuilderFactory.withPayload(converted).build();
            this.dispatcher.dispatch(messageToSend);
        }
        else if (this.logger.isWarnEnabled()) {
            logger.warn("MessageConverter returned null, no Message to dispatch");
        }
    }

有时我们会看到消息被转换为Spring消息,有时它们会尝试从Spring消息有效负载转换(大约20次左右)。在这种情况下,下面的代码似乎尝试处理重新创建Spring消息信封 - 但它将删除标题。

有趣的是,我们的代码总是在负载测试中发送完全相同的消息。我还没弄清楚为什么收到的信息会有所不同。

0 个答案:

没有答案