我的项目是客户端-服务器架构,AP 服务器使用 JBOSS,通过 java webstart 在客户端启动 Swing/AWT 应用程序。我的客户要求将 JRE 从 1.6.0_16 升级到 1.7.0_25,但出现了奇怪的错误。在 JRE 1.6 下一切正常,但在 JRE 1.7 下却失败了。
这是控制台日志
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.checkUpdateAvailable(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.isUpdateAvailable(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
提前致谢
这是我的 JSP 文件
规格="1.0+"
codebase="http://<%=request.getLocalAddr()%>:<%=request.getServerPort()%>/start"
href="webstart.jsp">
<title>XXX</title>
<vendor>XXX</vendor>
<description>XXX</description>
<description kind="short">XXX</description>
<offline-allowed/>
<shortcut online="true">
<desktop/>
<menu submenu="XXX"/>
</shortcut>
<%
Properties dbProp = new java.util.Properties();
dbProp.load(new FileInputStream("SystemConfig.properties"));
String initialContext = dbProp.getProperty("INITIAL_CONTEXT_FACTORY");...
%>
<j2se version="1.6+" java-vm-args="-dsa -Xnoclassgc -Xms128m -Xmx512m"/>
<jar href="jar/XXX.jar"/>...
<argument><%=initialContext%></argument>...
<all-permissions/>