1 回答
TA贡献1847条经验 获得超11个赞
底层 UDP 适配器默认使用守护线程(守护线程不阻止 JVM 退出)。
您可以提供不使用守护线程的不同任务执行程序...
@Bean
public UdpSyslogReceivingChannelAdapter udpReceiver() {
final UdpSyslogReceivingChannelAdapter adapter = new UdpSyslogReceivingChannelAdapter();
adapter.setUdpAdapter(receiver());
adapter.setOutputChannelName("routingChannel");
adapter.setConverter(converter);
return adapter;
}
@Bean
public UnicastReceivingChannelAdapter receiver() {
UnicastReceivingChannelAdapter adapter = new UnicastReceivingChannelAdapter(properties.getUdp().getLocalPort());
adapter.setTaskExecutor(executor());
return adapter;
}
@Bean
public TaskExecutor executor() {
ThreadPoolTaskExecutor exec = new ThreadPoolTaskExecutor();
exec.setCorePoolSize(5);
return exec;
}
添加回答
举报