Java 尝试获取sun-web-app_2_5时glassfish中的连接超时
我们在尝试使用liferay portal在glassfish v2应用程序服务器上部署war文件时遇到问题。当我们从ubuntu 10.4升级到10.10(或更高版本)时,我们的部署时间从21秒左右增加到了6分钟。我觉得问题在于,当试图从oracle获取时会出现超时。在这两个版本之间,ubuntu中一定有一些东西发生了变化。我想问题的一部分是我们在公司防火墙/代理的后面,但这恐怕不会改变 那么,什么才是“最好的”。将sun.net.client.defaultConnectTimeout设置为21秒(与10.4中的工作方式和部署时间相同),将dtd存储在本地以供访问(因为现在我们无法从10.4或10.10访问它,因此超时)。我想我们可以在开发人员的机器上更改linux的tcp设置,但这似乎根本不是一个好的解决方案 使用以下代码,我们在10.4上获得了约21秒的超时,在10.10上获得了189秒的超时Java 尝试获取sun-web-app_2_5时glassfish中的连接超时,java,glassfish,liferay,Java,Glassfish,Liferay,我们在尝试使用liferay portal在glassfish v2应用程序服务器上部署war文件时遇到问题。当我们从ubuntu 10.4升级到10.10(或更高版本)时,我们的部署时间从21秒左右增加到了6分钟。我觉得问题在于,当试图从oracle获取时会出现超时。在这两个版本之间,ubuntu中一定有一些东西发生了变化。我想问题的一部分是我们在公司防火墙/代理的后面,但这恐怕不会改变 那么,什么才是“最好的”。将sun.net.client.defaultConnectTimeout设置为
long start = System.currentTimeMillis();
try {
System.out.println("start");
URL u = new URL("http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd");
URLConnection conn;
conn = u.openConnection();
System.out.print(conn.getConnectTimeout());
//conn.setConnectTimeout(5*1000);
int readTimeout = conn.getReadTimeout();
BufferedReader in = new BufferedReader(
new InputStreamReader(
conn.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
} catch (Exception ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("Total time = " + (System.currentTimeMillis() - start) / 1000.0 + " seconds");
我建议您使用to 这是控制台中您需要使用的页面截图 这将允许服务器访问丢失的dtd文件,而不必干扰开发人员机器的总体系统配置