2012-02-29 12 views
0

Spring JMSリスナークラスでHttpServletRequestとHttpServletResponseを取得する方法があるかどうかを知ることができますか?私のJMSリスナーはspringContext.xmlファイルで定義されています。HttpservletRequestとSpring JMSリスナーの応答

+0

JMSリスナーは、JMSメッセージが使用可能になるとトリガーされます。なぜあなたは同じコンテキストでHTTPRequestを持っていますか? –

+0

HttpServletRequest/Responseオブジェクトをparamsとして持つメソッドを呼び出す必要があります。これらのオブジェクトをモックする方法はありますか? – sea

+0

どのような方法ですか?あなたが書いたもので、HttpRequestを必要としない場合(なぜなら、*常に*とJMSメッセージの両方を持つ状況はないから)、nullを渡すだけですか?またはリファクタリング... –

答えて

0

JAXDispatcherを使用して、JMSリスナーからサービスを呼び出しました。

jaxbDispatcher.doGET(null, url, null, "application/xml", true); 
+0

あなた自身の問題を解決した場合は、この回答を受け入れる必要があります。 –

1

まず、JMSリスナー内でHTTPサーブレットの要求と応答にアクセスすることはできません。これらは完全に独立したモジュールであり、異なる物理サーバーに配置することもできます。

あなたspring-test.jarからMockHttpServletRequestMockHttpServletResponseを使用することができます - しかし、彼らはない製品コードでは、ユニット/統合テスト内で使用することを意図しています。

私は本当にMockHttpServletRequestと応答が必要なあなたのコードを見たいと思います。私は、リクエストURLやユーザー名のような上記の関連フィールドのみを使用するようにリファクタリングや再設計が可能であると考えています。

+0

私のコメントの有益な拡大。それらのモックオブジェクトについて知りませんでしたが、より大きな問題/混乱がここで起こっています。私のお金はリファクタリング/再設計のソリューションになります。 +1 –

関連する問題