別の MessageConverter をラップできる MessageConverter クラスを作成したいと思います。この MessageConverter は、TextMessage を生成すると想定される子コンバーターを呼び出します。ペイロードを受け取り、それを GZIP 圧縮して、最終的に送信者に返される BytesMessage を作成します。
問題は fromMessage() の書き込みにあります。ペイロードを文字列に変換して戻すことはできますが、「ダミー」の TextMessage を作成して文字列を詰め込み、子 MessageConverter の fromMessage() メソッドに渡したいと考えています。JMS セッション オブジェクトなしでは TextMessage を作成できず、このコンテキストでセッションを取得する方法がまったくないように見えるため、ここで壁にぶつかっています。
追加のプロパティを作成して、このクラスにさらに多くのものを接続することもできますが、JMSTemplate オブジェクトからセッションを簡単に取得することさえできそうになく、他に何が必要か想像もつきません。
子 MessageConverter の文字列をラップするためだけに、このコード内にプライベート TextMessage 実装を作成しようとしています。そのクラスでは、インターフェースを具体化するために大量のダミー メソッドが必要になります。
誰かがより良い方法を提案できますか?