【发布时间】:2018-10-15 08:56:42
【问题描述】:
以下是我的套接字服务器配置。我想定义一个回退/故障转移端口。
如果当前端口已在使用中,我如何重试创建套接字 bean(例如使用后备端口)?
如果故障转移端口也已在使用中:如何重试套接字创建直到成功(例如 5 分钟)?
@Bean
public TcpConnectionFactoryFactoryBean factory() {
TcpConnectionFactoryFactoryBean f = new TcpConnectionFactoryFactoryBean();
f.setType("server");
f.setPort(port); //I want to retry and switch that 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;
}
【问题讨论】:
-
那么随机分配端口对你有用吗?
-
不,我想要一个主端口和一个故障转移端口。只有这两个是有效的。我想重试这两个,直到一个成功。
标签: java spring sockets spring-boot spring-integration