2012-10-12 17 views
5

サービス層(EJB3.0ビジネスロジックとデータベースアクセスを含む)とWeb層(Servlet/JSP)があります。 JBoss AS 7に分散したマシンで、耳と戦争が分離されて配置されています。発信者の情報をWeb層からEJB層に渡すにはどうすればいいですか?

サービス層には、ステートフルステートレス EJBの両方が含まれています。

メソッドを呼び出すためのEJBインターセプタがあります。 ウェブ層からログインしたユーザーの場合、ユーザー情報はHttpSessionに保存されます(ユーザー確認はDBのパスワード&のパスワードを照会するだけで処理されます)。

パフォーマンスチューニングでは、どのユーザーがこれらのEJBメソッド、ユーザー情報、日付情報などを呼び出すかを知る必要があります。 を抽出し、ログに記録するか、またはアナライズ用にDBに格納します。

今私の質問は:

EJB層に、発信者の情報を区別するためにどのように?

EJBインターセプタは、EJBメソッドのパラメータとそれが呼び出されたときに取得できます。しかし、我々はそれを誰が呼んでいるのか分からない。

EJB層とWeb層を組み合わせるのは醜いことが分かっています。したがって、Session/Requestオブジェクトから必要なものを取得するのに役立つ場合でも、HttpSession/HttpRequestをEJBレイヤーに渡すことはありません。

また、WebからすべてのEJBメソッドにTuningInfo(リクエスト情報、ユーザー情報などを含む)を渡すことができない非常に多くのEJBメソッドがあります。

EJB層で呼び出し元の情報を取得することは可能ですか?

ありがとうございます。

答えて

関連する問題