繁体   English   中英

EJB客户端调用中的SocketTimeoutException

[英]SocketTimeoutException in EJB client call

我正在获取对远程EJB实例的引用,而没有任何类型的问题,但是有时,当我调用其方法之一时,会从客户端抛出“ java.net.SocketTimeoutException:读取超时” 服务器端似乎没有问题

有没有一种方法可以基于每次调用设置EJB客户端超时?

我使用的是相当老的JBoss版本(4.2.1 GA)

问候

  1. 您可以为连接器MBean配置InvokerLocater属性。

    <attribute name="InvokerLocator">socket://{jboss.bind.address}:3873/?socketTimeout=60000</attribute>

  2. 可以在“配置”属性下为config元素提供更详细的信息。 默认情况下是一分钟。

    <attribute name="socketTimeout">60000</attribute>

  3. 在JNDI属性文件中提供超时参数。

    jnp.timeout:连接超时(以毫秒为单位)。 默认值为0,这意味着连接将阻塞,直到VM TCP / IP层超时为止。

    jnp.sotimeout:连接的套接字读取超时(以毫秒为单位)。 默认值为0,这表示读取将被阻止。 这是传递给新连接的套接字上的Socket.setSoTimeout的值。

    要为单个调用手动配置超时,您必须使用适当的属性值创建初始上下文。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM