Jboss EAP 6 JAX-WS和JMS超时设置

本文介绍了在Jboss EAP 6环境中,如何处理Web Service(WS)客户端和JMS客户端的超时问题。针对WS,讲解了ConnectionTimeout和ReceiveTimeout两个超时参数,分别用于连接建立和等待响应的超时时间,并提供了Java代码示例进行设置。对于JMS客户端,提到了在连接服务器失败时,会遇到WAITING状态的超时错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. WS Client Timeout

在Jboss EAP 6中调用web service,发生以下错误:

Invoke has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Could not send Message

java.net.SocketTimeoutException: Read timed out

调用WS有两个超时参数:

  • ConnectionTimeout
    Specifies the amount of time, in milliseconds, that the client will attempt to establish a connection before it times out. The default is 30000 (30 seconds). 0 specifies that the client will continue to attempt to open a connection indefinitely.
  • ReceiveTimeout
    Specifies the amount of time, in milliseconds, that the client will wait for a response before it times out. The default is 60000. 0 specifies that the client will wait indefinitely.

在Java 代码中可如下设置:

QName serviceName = new QName("namespaceURI", "serviceName");
QName portName = new QName("namespaceURI", "port");
Service service = Service.create("wsdl", serviceName);

Dispatch<SOAPMessage> dispatch = service.createDispatch(portName, SOAPMessage.class, Service.Mode.MESSAGE);
dispatch.getRequestContext().put("javax.xml.ws.client.connectionTimeout", 3 * 60 * 1000);
dispatch.getRequestContext().put("javax.xml.ws.client.receiveTimeout", 5 * 60 * 1000);
SOAPMessage response = dispatch.invoke(msg);

2. JMS Client Timeout

Got an error while processing JMS: Failed to connect to any server. Servers tried: Operation failed with status WAITING after 5000 MILLISECONDS

Properties props = new Properties();

// timeout is in milli. seconds. Here we configure a 10 second timeout

props.put("jboss.naming.client.connect.timeout", "10000"); 

Context context = new InitialContext(props);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值