1

SOAP送信されたリクエストJAX-WS(CXF/JAXB) のインターセプターが、呼び出しが発生したときに同じスレッドで実行されることが保証されているかどうか疑問に思っていますか?

私が質問している理由は、リクエスト ID パラメータをキーとして使用して、生のリクエストとレスポンス (XML ダンプ) をデータベースに記録したいからです。JAXBそして、呼び出しの前に ThreadLocal 変数として設定し、インターセプターで取得することを除いて、この ID をインターセプターに渡す方法がわかりません。この戦略を悪い考えにしている、私が見ていない他の理由はありますか?

4

1 に答える 1

0

サービス/インターセプタークラスに ServletContext を注入できます

   @Context 
   private ServletContext context;   

コンテキストとの間で属性を取得/設定します

context.getAttribute  
context.setAttribute  

このようにして、サービス/インターセプター間でオブジェクトを転送できます。
また、メソッドを使用することもできます

Message#getContextualProperty  
Message#setContextualProperty 

インターセプターで、コンテキストとの間でプロパティを設定/取得します

于 2012-11-07T21:08:22.060 に答える