[英]SocketTimeoutException in EJB client call
我正在获取对远程EJB实例的引用,而没有任何类型的问题,但是有时,当我调用其方法之一时,会从客户端抛出“ java.net.SocketTimeoutException:读取超时” 。 服务器端似乎没有问题
有没有一种方法可以基于每次调用设置EJB客户端超时?
我使用的是相当老的JBoss版本(4.2.1 GA)
问候
您可以为连接器MBean配置InvokerLocater
属性。
<attribute name="InvokerLocator">socket://{jboss.bind.address}:3873/?socketTimeout=60000</attribute>
可以在“配置”属性下为config元素提供更详细的信息。 默认情况下是一分钟。
<attribute name="socketTimeout">60000</attribute>
在JNDI属性文件中提供超时参数。
jnp.timeout:连接超时(以毫秒为单位)。 默认值为0,这意味着连接将阻塞,直到VM TCP / IP层超时为止。
jnp.sotimeout:连接的套接字读取超时(以毫秒为单位)。 默认值为0,这表示读取将被阻止。 这是传递给新连接的套接字上的Socket.setSoTimeout的值。
要为单个调用手动配置超时,您必须使用适当的属性值创建初始上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.