当尝试从swing应用程序连接到glassfish v3时,这是第一次非常慢。需要4-10秒。在客户端:
public void myMethod(){
NewSessionBeanRemote facade;
try {
InitialContext ic = new InitialContext();
facade = (NewSessionBeanRemote) ic.lookup(NewSessionBeanRemote.class.getName());
target.setText(facade.businessMethod());
} catch (NamingException ex) {
ex.printStackTrace();
}
}在服务器端:
@Stateless
public class NewSessionBean implements NewSessionBeanRemote {
@Override
public String businessMethod() {
return String.valueOf(Math.random() + 121 + 300);
}
}
@Remote
public interface NewSessionBeanRemote {
String businessMethod();
}我需要什么来改变环境?
发布于 2010-09-14 09:18:29
当尝试从swing应用程序连接到glassfish v3时,这是第一次非常慢。
可能是由于应用服务器服务的延迟初始化 (EJB,连接池,.)。
需要4-10秒。
接下来的电话呢?
发布于 2013-07-24 08:16:10
这就是Java的工作方式。当第一次调用页面时,将编译所有JSP并实例化所有bean。即使关闭延迟初始化,在启动时也必须等待相同的时间。
wikipedia.org Pages#Compiler引文
JavaServer页面编译器是一个解析JSP并将其转换为可执行JavaServer的程序。这种类型的程序通常嵌入到应用程序服务器中,并在第一次访问JSP时自动运行,但是也可以预编译页面以获得更好的性能,或者作为构建过程的一部分进行编译以测试错误。
如果您愿意,您可以尝试预编译所有内容,看看它是否运行得更好:
http://www.avajava.com/tutorials/lessons/how-do-i-precompile-my-jsps.html
https://stackoverflow.com/questions/3707369
复制相似问题