简体   繁体   English

grails jms onMessage接收消息文本? 没有消息

[英]grails jms onMessage receives message text?? not Message

I have this in my listener service (following doc ): 我的侦听器服务中有此文件 (以下doc ):

@Queue(name='queue.web.dev')
def onMessage(Message msg) {
    println "DEBUG msgCorrelationID :"+msg.getJMSCorrelationID()
}

but on receiving message, I got error: 但是在收到消息时,出现错误:

"No signature of method: java.lang.String.getJMSCorrelationID()"

If I try adding Message to onMessage args like: 如果我尝试将Message添加到onMessage args,例如:

def onMessage(Message msg)

I got error: 我收到错误消息:

java.lang.NoSuchMethodException: MessageListenerService$$EnhancerBySpringCGLIB$$4bfa7a63.onMessage(java.lang.String)

Looks to me that onMessage is getting String message text. 在我看来,onMessage正在获取String消息文本。 Is that true? 真的吗? How can I get whole jms.Message then? 我怎样才能得到整个jms.Message?

Don't know if this is still open but you have to take the object out of the message yourself .. 不知道它是否仍然打开,但是您必须自己从消息中取出对象。

def messageContents = ((ObjectMessage) message).getObject()

Is that what your looking for ? 那是你要找的东西吗?

Remove the default message converter 删除默认的消息转换器

jms {
    containers {
        standard {
            messageConverter = null
        }
    }
}

Check grails jms docs here 在此处检查Grails JMS文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM