我正在尝试创建一个Java客户端应用程序,它同时连接到多个EJB3应用程序服务器(比如A和B)。
这是有效的,如果我登录到服务器A,请执行方法调用,注销。然后登录B调用方法,注销。
问题是创建登录上下文和登录是一项非常昂贵的操作,所以我想保持连接打开。但这不起作用,因为第一个连接会被覆盖。
示例代码应该是什么样的:
connectToA()
connectToB()
while (moreWorkToDo) {
remoteCallA()
remoteCallB()
}
disconnectFromA()
disconnectFromB()
但目前的实际实施必须是
while (moreWorkToDo) {
connectToA()
remoteCallA()
disconnectFromA()
connectToB()
remoteCallB()
disconnectFromB()
}
以某种方式获得第一个流量是否可行?
编辑: 上下文初始化:
new InitialContext( prop )
将prop设置为属性:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url
java.naming.security.principal
java.naming.security.credentials
ejb.jndi.name