我的第一个问题 – 希望我在正确的地方。
从本质上讲,我有一个Java应用程序偶尔似乎有困难的连接,我已经用尽了想法在哪里看。 希望得到一些启发和build议。
那么详细…
背景:
两台2K8r2物理服务器(称为01和02)位于公司局域网上,并已join域。
每台服务器都有一个Java应用程序,用于与互联网托pipe的Web服务进行安全连接,以传输财务数据。
Java应用程序由Windows任务计划程序触发,并在服务器上具有本地pipe理权限的基于域的服务帐户下运行。
当被触发时,Java应用程序连接到基于Internet的Web服务,并根据执行脚本上传/下载文件。
Java应用程序被configuration为通过我们的MS代理(TMG 2010)通过HTTPS连接到Web服务。
Web服务需要客户端身份validation,并在每个服务器上的Java证书存储区中安装一个证书。
我们的代理configuration为不执行HTTPS检查,不要求authentication连接到Web服务。
每个服务器有两个任务; 上和下。 Up任务定期运行(上午7:00至晚上7:00,每20分钟一次),而Down任务可以每天运行一次,也可以在早上运行。
问题:
大部分时间都正常运行。 所有的任务报告偶尔连接失败。 这被认为是由于Java应用程序的stream行networking条件和脆弱性。
不太常见(每1到2周一次),会出现连续失败的连续失败 – 通常是由服务器01上的“上”任务 – 可以持续数小时。
我收到每个失败的电子邮件警报,并且在这些失败之一中运行远程控制台会话到服务器,以尝试解决发生了什么问题。
我注意到以下症状仅在一系列故障中出现:
即使我用正常的域帐户login到服务器,浏览(通过IE)我们的公司SharePoint Intranet结果login提示。
尝试浏览到外部网站失败 – 没有login提示,只是一个IE错误,说不能连接。
我发现很难相信持续的连接故障是由于主要的networking条件 – 丢包等。
我的直觉反应是服务器01有问题,因为服务器02没有受到严重的影响。
示例错误消息:
连接失败'login时出错 – 'java.lang.RuntimeException:静默连接时出错:org.w3c.www.protocol.http.HttpException:java.io.IOException:来自代理的无效响应:null''
连接失败'login时出错 – 'java.lang.RuntimeException:静默连接时出错:org.w3c.www.protocol.http.HttpException:java.net.ConnectException:连接超时:connect''
连接失败'login时出错 – 'java.lang.RuntimeException:静默连接时出错:org.w3c.www.protocol.http.HttpException:java.net.SocketException:软件导致连接中止:recv failed''
编辑:debugging级别日志文件信息:
2013-02-01 08:43:52,249 DEBUG - PKCS11SendRequest:sendRequest:Connecting to 'https://webserviceurl.com:443/path1/path2' ... 2013-02-01 08:43:52,249 DEBUG - PKCS11SendRequest:sendRequest: Protocol: 'https' 2013-02-01 08:43:52,249 DEBUG - PKCS11SendRequest:sendRequest: Host: 'webserviceurl.com, port 443 2013-02-01 08:43:52,249 DEBUG - PKCS11SendRequest:sendRequest: ServletPath: '/path1/path2' 2013-02-01 08:43:52,249 DEBUG - PKCS11SendRequest:sendRequest: ServletSessionID: '' 2013-02-01 08:43:52,249 DEBUG - PKCS11SendRequest:sendRequest: opening connection 2013-02-01 08:43:52,249 DEBUG - IaikSSLPkcs11SecurityProvider:getSecureRandom Entry Not using the PKCS11 device as it is too slow. 2013-02-01 08:43:52,249 DEBUG - IaikSSLPkcs11SecurityProvider:getSecureRandom Exit 2013-02-01 08:43:52,249 DEBUG - PKCS11SendRequest:sendRequest: setting sslcontext 2013-02-01 08:43:52,264 DEBUG - PKCS11SendRequest:sendRequest: configuring rest of connection 2013-02-01 08:43:52,311 DEBUG - PKCS11SendRequest:sendRequest: getting connection OutputStream 2013-02-01 08:43:52,311 DEBUG - PKCS11SendRequest:sendRequest: got connection OutputStream 2013-02-01 08:43:52,311 DEBUG - PKCS11SendRequest:sendRequest: sending request object 2013-02-01 08:43:52,311 DEBUG - PKCS11SendRequest:sendRequest: flushing and closing connection OutputStream 2013-02-01 08:43:52,327 DEBUG - PKCS11SendRequest:sendRequest: Exception incurred 'java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: java.io.IOException: Invalid response from proxy: null at org.w3c.www.protocol.http.HttpURLConnection.error(Unknown Source) at org.w3c.www.protocol.http.HttpURLConnection.checkReply(Unknown Source) at org.w3c.www.protocol.http.HttpURLConnection.getResponseCode(Unknown Source) at au.com.sienna.gwhttpclient.mailbox.na(Unknown Source) at au.com.sienna.gwhttpclient.mailbox.GatewareHttpMailboxBean.a(Unknown Source) at au.com.sienna.gwhttpclient.mailbox.GatewareHttpMailboxBean.a(Unknown Source) at au.com.sienna.gwhttpclient.mailbox.GatewareHttpMailboxBean.logon(Unknown Source) at au.com.sienna.gwhttpclient.mailbox.GatewareHttpMailboxBean.logon(Unknown Source) at au.com.sienna.gwhttpclient.APPNAME.APPNAME.h(Unknown Source) at au.com.sienna.gwhttpclient.APPNAME.APPNAME.if(Unknown Source) at au.com.sienna.gwhttpclient.APPNAME.APPNAME.main(Unknown Source) ' 2013-02-01 08:43:52,327 DEBUG - PKCS11SendRequest:sendRequest: No responseMsg object was received, setting up unknown error 2013-02-01 08:43:52,327 DEBUG - PKCS11SendRequest:sendRequest: exit 2013-02-01 08:43:52,327 DEBUG - GatewareHttpMailboxBean:sendRequest: No responseMsg object was received, setting up unknown error Connection failed 'Error when logging on - 'java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: java.io.IOException: Invalid response from proxy: null''