![](/img/trans.png)
[英]reply-timeout meaning in tcp-inbound-gateway in spring integration
[英]How to set reply-timeout on a socket with spring-integration?
我創建一個nio
套接字服務器如下。
如果超時,我該如何定義一個超時,該超時將自動將某種錯誤響應發送回客戶端?
@MessageEndpoint
public class SocketEndpoint {
@ServiceActivator(inputChannel = "serverChannel", sendTimeout = "5000")
public String handleMessage(String message) {
TimeUnit.SECONDS.sleep(60);
//...TODO how to send some kind of "timeout exceeded" response?
}
}
@Bean
public TcpConnectionFactoryFactoryBean factory() {
TcpConnectionFactoryFactoryBean f = new TcpConnectionFactoryFactoryBean();
f.setType("server");
f.setPort(port);
f.setUsingNio(true);
f.setSingleUse(false);
f.setDeserializer(deserializer);
f.setSerializer(serializer);
return f;
}
@Bean
public TcpInboundGateway server(
TcpConnectionFactoryFactoryBean factory,
MessageChannel serverChannel) throws Exception {
TcpInboundGateway g = new TcpInboundGateway();
g.setConnectionFactory(factory.getObject());
g.setRequestChannel(serverChannel);
return g;
}
沒有辦法做到這一點。
在客戶端,您可以設置套接字超時,這樣,如果在該時間內未收到回復,客戶端將獲得異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.