Java 从项目B的servlet调用项目A的bean

Java 从项目B的servlet调用项目A的bean,java,jakarta-ee,servlets,javabeans,websphere-7,Java,Jakarta Ee,Servlets,Javabeans,Websphere 7,我有一个JavaEE服务器,它从项目B中的Servlet调用项目a中的bean。两个项目都在同一个“单元”(集群)中。我想通过负载平衡器以及。我不想使用消息驱动bean或Web服务 有没有其他方法可以做到这一点,如何实现 如果包含EJB的应用程序部署在与客户机相同的集群上,那么WebSphere将始终将请求路由到与客户机相同的应用程序服务器中的EJB,并且调用将是VM内调用(而不是进程外调用)。这称为进程关联。据我所知,没有办法避免或禁用进程关联。事实上,经过一段时间后,我找到了解决方案: Ha

我有一个JavaEE服务器,它从项目B中的Servlet调用项目a中的bean。两个项目都在同一个“单元”(集群)中。我想通过负载平衡器以及。我不想使用消息驱动bean或Web服务


有没有其他方法可以做到这一点,如何实现

如果包含EJB的应用程序部署在与客户机相同的集群上,那么WebSphere将始终将请求路由到与客户机相同的应用程序服务器中的EJB,并且调用将是VM内调用(而不是进程外调用)。这称为进程关联。据我所知,没有办法避免或禁用进程关联。

事实上,经过一段时间后,我找到了解决方案:

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();
从这里得到:

此单元(群集中)中有两台冗余服务器,包含每个项目的副本,负载平衡器在这两台服务器之间切换。因此,如果一个调用来自服务器1的项目a,我想根据可用性转到项目B服务器1或服务器2。此外,这些项目目前彼此之间没有依赖关系