0

プロジェクト B のサーブレットからプロジェクト A の Bean を呼び出す Java EE サーバーがあります。両方のプロジェクトが同じ「セル」(クラスター) にあります。ロードバランサーも通過したいと思います。メッセージ駆動型 Bean や Web サービスを使用したくありません。

これを行う他の方法はありますか?それはどのように実装できますか?

4

2 に答える 2

1

実際、しばらくして私は解決策を見つけました:

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming
.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL,"corbaloc::boris:9811,:natasha
:9812");
Context ctx = new InitialContext(env);
TestEJBHome home = (TestEJBHome)
PortableRemoteObject.narrow(ctx.lookup("ejb/ejbs/TestEJBHome"),
    TestEJBHome.class);
TestEJB bean = home.create();

ここから入手: http ://www.ibm.com/developerworks/websphere/techjournal/0807_pape/0807_pape.html

于 2012-10-25T20:46:51.140 に答える
0

EJB を含むアプリケーションがクライアントと同じクラスターにデプロイされている場合、WebSphere は常に要求をクライアントと同じアプリケーション サーバー内の EJB にルーティングし、呼び出しは VM 内呼び出しになります (アウトではなく)。 -of-process 呼び出し)。これはプロセス アフィニティと呼ばれます。私の知る限り、プロセス アフィニティを回避または無効にする方法はありません。

于 2012-07-14T08:56:05.483 に答える