我接受了M. Deinum的建议(看起来很快捷),然后简单地设置了参数类型,javax.jms.Message
然后将传入的消息转换为字符串。所以我的听众现在看起来像
@JmsListener
public void processOrder(Message message) throws JMSException {
String convertedMessage = ((TextMessage) message).getText();
:
:
}
这可能会引发JMSException,但是我现在对此并不十分担心,因为现在ErrorHandler
调用实现的类时,我现在知道原因,并且可以做更具体的事情来处理失败的转换。这正是我需要的。
编辑:响应Jonh K的建议,听众不喜欢将其byte[]
作为参数。它基本上希望转换器将字节数组转换为字符串。选择不实施我自己的自定义转换器。