Java “慢”;查阅“;玻璃鱼时代
我已经创建了一个在GlassFish开源版上运行的测试EJB3应用程序 我从同一台主机连接到GlassFish(客户端和应用程序服务器都在“localhost”上运行) 我使用InitialContext.lookup()获取一个远程(有状态)对象,然后像普通Java对象一样与它交互 唯一的问题是这一次呼叫,需要15秒:Java “慢”;查阅“;玻璃鱼时代,java,glassfish,ejb,rmi,Java,Glassfish,Ejb,Rmi,我已经创建了一个在GlassFish开源版上运行的测试EJB3应用程序 我从同一台主机连接到GlassFish(客户端和应用程序服务器都在“localhost”上运行) 我使用InitialContext.lookup()获取一个远程(有状态)对象,然后像普通Java对象一样与它交互 唯一的问题是这一次呼叫,需要15秒: FooRemoteService foors = (FooRemoteService) context.lookup("java:global/FooApp/FooS
FooRemoteService foors = (FooRemoteService)
context.lookup("java:global/FooApp/FooService!test.FooRemoteService");
我知道必须有某种“握手”和“初始化”,但这太慢了
其余的交互(几个远程调用和许多被交换的序列化对象)只需要大约0.1秒
我怎样才能找出花费这么长时间的原因呢?我建议您在指定主机ip的初始上下文中声明,因为您可能在不同的主机中部署了相同的应用程序,而EJB规范会在网络中搜索它
Properties props = new Properties();
props.put(Context.PROVIDER_URL, "jnp://ip:1099");
InitialContext ctx = new InitialContext(props);
致以最诚挚的问候。在您第一次查找它时,它正在实例化
FooRemoteService
。。。它到底在做什么强化处理?一点也不。。。如果我用本地虚拟机“新建”它,需要几毫秒