2017-01-24 10 views
0

私は、Spring JMS @JmsListenerアノテーションを使用してMQ Qを聞いています。Jmsセッションオブジェクトなしでjavax.jms.TextMessageを複製する方法

@JmsListener(destination = "${qNmae}", 
        containerFactory = "jmsListenerContainerFactory2") 
    public void processMessage(Message<String> msg) throws JMSException { 

    } 

私は、Spring MessageオブジェクトをNew JMS TextMessageに変換する必要があります。私はMessageの代わりにTextMessage型のメソッドパラメータを置くことができ、Springは自動的にそれを変換しますが、不変オブジェクトを取得していますが、コードでは、既存のヘッダを保持し、特定のケースで新しいヘッダを追加する必要があります。 基本的には、JMSセッションオブジェクトなしで独自のヘッダーを追加できるように、JMS Message/TextMessageオブジェクトを複製する適切な方法を探しています(@ JmsListenerを使用しているので、自分自身で新しいセッションを作成したくない新しいメッセージを作成するため)。

+0

ibm Message/TextMessage実装ではクローンメソッドはありませんか? –

+0

それは第1のことが私の心に来たのですが、私がチェックしたときには誰もいません – user3817206

+0

クローンメッセージで何をするつもりですか? –

答えて

0

この場合、メッセージの新しいインスタンスを作成してヘッダーをコピーするか、processMessageメソッドにパラメータとしてセッションを追加し、新しいメッセージを作成するために使用できるセッションをSpringが挿入します(インプリメンテーションに依存しますが、セッションが最初の提案のように新しいインスタンスを作成すると思う)とコピーヘッダー

関連する問題