套接字超时

套接字超时是指在断开套接字的连接并将异常返回给客户机应用程序之前,IMS™ TM 资源适配器(也称为 IMS Connector for Java™)等待来自 IMS Connect 的响应的最长时间。

如果存在网络问题或路由故障,socketTimeout 属性就会防止系统中发生挂起,在该系统中,使用 IMS TM 资源适配器的客户机将无限期地等待来自 IMS Connect 的响应。因为 socketTimeout 属性基于 TCP/IP 套接字,而 IMS Connect 和 IMS 资源适配器都是使用 TCP/IP 套接字来进行通信,所以 socketTimeout 属性不适用于“本地选项”协议。

借助 socketTimeout 属性,可以对使用套接字的特定交互设置单个的超时值。可以在 IMSInteractionSpec 中的 socketTimeout 属性上设置该值(以毫秒计)。如果没有为某次交互指定 socketTimeout 属性,或者将该属性的值设置为零毫秒,这就意味着没有套接字超时,连接将无限期等待。套接字超时的缺省值为零。

在确定套接字超时值时,也应该考虑现有的其他超时值。例如,浏览器会话超时值、执行超时、EJB 事务超时值、WebSphere® Application Server 连接超时值以及 servlet 和有状态会话 bean 使用的 HTTP 会话超时值。

如果为特定交互指定了有效的套接字超时值,当发生套接字超时的时候,就会抛出 java.io.IOInterruptedException,并且会产生 J2EE JCA 异常 javax.resource.spi.CommException。J2EE JCA 异常消息表示客户机与 IMS Connect 通信所花的时间已经超过了由 socketTimeout 值所分配的时间。


反馈