TcpInBoundGateWayを使用してリモートクライアントからメッセージを受信しています。ただし、クライアントは定期的にIPを変更しています。クライアントの1人がIP 'X'そのクライアントのIPが「X」から「Y」に変更され、同時にそのIPとの新しい接続が確立され、同時にIP「X」との古い接続がアクティブである場合、ゲートウェイはそのIPとの接続を有する。だから私はこのゲートウェイに通信する約10-15クライアントがありますが、もし私がnetstat -all
を行う場合、それはそのポートと確立された2000から2500の接続を提供します。TcpInboundGateway:リモートクライアントとの既存の接続を閉じる方法
古い接続を終了できる方法はありますか? netstat
からの接続の
@SpringBootApplication
@IntegrationComponentScan
public class SpringIntegrationApplication extends SpringBootServletInitializer{
DataOperations dataOperations =new DataOperations();
@Value("${TCP_PORT}")
private Integer TCP_PORT;
public static void main(String[] args) throws IOException {
ConfigurableApplicationContext ctx = SpringApplication.run(SpringIntegrationApplication.class, args);
System.in.read();
ctx.close();
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringIntegrationApplication.class);
}
private static Class<SpringIntegrationApplication> applicationClass = SpringIntegrationApplication.class;
@Bean
TcpNetServerConnectionFactory cf(){
TcpNetServerConnectionFactory connectionFactory=new TcpNetServerConnectionFactory(8765);
connectionFactory.setSingleUse(true);
return new TcpNetServerConnectionFactory(TCP_PORT);
}
@Bean
TcpInboundGateway tcpGate(){
TcpInboundGateway gateway=new TcpInboundGateway();
gateway.setConnectionFactory(cf());
gateway.setRequestChannel(requestChannel());
gateway.setRequestTimeout(20000);
return gateway;
}
@Bean
public MessageChannel requestChannel(){
return new DirectChannel();
}
}
リストは、これらのクライアントがひどく振る舞っている
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 106.221.201.180:15076 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 27.58.41.100:41965 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 106.221.136.178:39192 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 106.221.135.124:2271 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 27.58.57.252:31644 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 27.58.33.219:32134 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 106.221.218.22:17275 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 27.58.172.42:30130 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 27.58.21.127:16998 ESTABLISHED
tcp6 0 0 ip-XXX-XX-X-XXX.u:10189 27.58.60.160:51374 ESTABLISHED
ok ...あなたの修正内容を確認してください。 – MasterCode
特定の接続を終了するカスタム方法はありますか? – MasterCode
接続ファクトリにはメソッドがあります(私の答えに編集を参照)。 –