Spring boot Syslog UDP-приемник выключается - PullRequest
0 голосов
/ 05 октября 2018

Я пишу приемник сообщений системного журнала UDP в Spring Boot 1.5.6.RELEASE , и он отключается, если я не добавляю spring-boot-starter-web зависимость.Дело в том, что мне не нужна веб-зависимость, потому что приложение только получает, фильтрует и отправляет журнал дальше по TCP.Я использую org.springframework.integration.syslog.inbound.UdpSyslogReceivingChannelAdapter.

Приемник:

@Bean
  public UdpSyslogReceivingChannelAdapter udpReceiver() {
    final UdpSyslogReceivingChannelAdapter adapter = new UdpSyslogReceivingChannelAdapter();
    adapter.setPort(properties.getUdp().getLocalPort());
    adapter.setOutputChannelName("routingChannel");
    adapter.setConverter(converter);
    return adapter;
  }

Это вывод консоли, и он не показывает исключений:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.6.RELEASE)

2018-10-05 08:55:18.338  INFO 21016 --- [           main] h.b.iptv.stream.IptvStreamApplication    : Starting IptvStreamApplication on DESKTOP-0S65L7N with PID 21016 (D:\Projects\iptv\iptv-stream\target\classes started by tomiv in D:\Projects\iptv)
2018-10-05 08:55:18.342  INFO 21016 --- [           main] h.b.iptv.stream.IptvStreamApplication    : No active profile set, falling back to default profiles: default
2018-10-05 08:55:18.386  INFO 21016 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@384ad17b: startup date [Fri Oct 05 08:55:18 CEST 2018]; root of context hierarchy
2018-10-05 08:55:19.325  INFO 21016 --- [           main] o.s.i.config.IntegrationRegistrar        : No bean named 'integrationHeaderChannelRegistry' has been explicitly defined. Therefore, a default DefaultHeaderChannelRegistry will be created.
2018-10-05 08:55:19.400  INFO 21016 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2018-10-05 08:55:19.546  INFO 21016 --- [           main] faultConfiguringBeanFactoryPostProcessor : No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.
2018-10-05 08:55:19.552  INFO 21016 --- [           main] faultConfiguringBeanFactoryPostProcessor : No bean named 'taskScheduler' has been explicitly defined. Therefore, a default ThreadPoolTaskScheduler will be created.
2018-10-05 08:55:19.674  INFO 21016 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'integrationGlobalProperties' of type [org.springframework.beans.factory.config.PropertiesFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-10-05 08:55:19.678  INFO 21016 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'integrationGlobalProperties' of type [java.util.Properties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-10-05 08:55:19.986  INFO 21016 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService  'taskScheduler'
2018-10-05 08:55:20.064  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Trying to find master from available Sentinels...
2018-10-05 08:55:20.082  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Redis master running at 10.10.20.49:6379, starting Sentinel listeners...
2018-10-05 08:55:20.091  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Created JedisPool to master at 10.10.20.49:6379
2018-10-05 08:55:20.093  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Trying to find master from available Sentinels...
2018-10-05 08:55:20.096  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Redis master running at 10.10.20.49:6379, starting Sentinel listeners...
2018-10-05 08:55:20.097  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Created JedisPool to master at 10.10.20.49:6379
2018-10-05 08:55:20.097  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Trying to find master from available Sentinels...
2018-10-05 08:55:20.099  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Redis master running at 10.10.20.49:6379, starting Sentinel listeners...
2018-10-05 08:55:20.100  INFO 21016 --- [           main] redis.clients.jedis.JedisSentinelPool    : Created JedisPool to master at 10.10.20.49:6379
2018-10-05 08:55:20.400  INFO 21016 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-10-05 08:55:20.405  INFO 21016 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'payloadHandlingService.route.router.handler' has been autodetected for JMX exposure
2018-10-05 08:55:20.406  INFO 21016 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Located managed bean 'payloadHandlingService.route.router.handler': registering with JMX server as MBean [org.springframework.integration.router:name=payloadHandlingService.route.router.handler,type=MethodInvokingRouter]
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase -2147483648
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {message-handler:streamConfiguration.handler.serviceActivator} as a subscriber to the 'udpOut' channel
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.udpOut' has 1 subscriber(s).
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started streamConfiguration.handler.serviceActivator
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {message-handler:streamConfiguration.tcpSender.serviceActivator} as a subscriber to the 'tcpOut' channel
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.tcpOut' has 1 subscriber(s).
2018-10-05 08:55:20.460  INFO 21016 --- [           main] .s.i.i.t.c.TcpNetClientConnectionFactory : started tcpConnectionFactory, host=localhost, port=3333
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started streamConfiguration.tcpSender.serviceActivator
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {router:payloadHandlingService.route.router} as a subscriber to the 'routingChannel' channel
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.routingChannel' has 1 subscriber(s).
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started payloadHandlingService.route.router
2018-10-05 08:55:20.460  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {service-activator:payloadHandlingService.handleAvrPayload.serviceActivator} as a subscriber to the 'anonymizationChannel' channel
2018-10-05 08:55:20.461  INFO 21016 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.anonymizationChannel' has 1 subscriber(s).
2018-10-05 08:55:20.461  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started payloadHandlingService.handleAvrPayload.serviceActivator
2018-10-05 08:55:20.461  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {service-activator:payloadHandlingService.handleUdpProbePayload.serviceActivator} as a subscriber to the 'loadBalancerChannel' channel
2018-10-05 08:55:20.461  INFO 21016 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.loadBalancerChannel' has 1 subscriber(s).
2018-10-05 08:55:20.461  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started payloadHandlingService.handleUdpProbePayload.serviceActivator
2018-10-05 08:55:20.463  INFO 21016 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 0
2018-10-05 08:55:20.463  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2018-10-05 08:55:20.463  INFO 21016 --- [           main] o.s.i.channel.PublishSubscribeChannel    : Channel 'application.errorChannel' has 1 subscriber(s).
2018-10-05 08:55:20.463  INFO 21016 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started _org.springframework.integration.errorLogger
2018-10-05 08:55:20.463  INFO 21016 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 1073741823
2018-10-05 08:55:20.464  INFO 21016 --- [           main] o.s.i.i.u.UnicastReceivingChannelAdapter : started org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter@70887727
2018-10-05 08:55:20.464  INFO 21016 --- [           main] s.i.s.i.UdpSyslogReceivingChannelAdapter : started udpReceiver
2018-10-05 08:55:20.471  INFO 21016 --- [           main] h.b.iptv.stream.IptvStreamApplication    : Started IptvStreamApplication in 2.421 seconds (JVM running for 3.548)
2018-10-05 08:55:20.472  INFO 21016 --- [      Thread-10] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@384ad17b: startup date [Fri Oct 05 08:55:18 CEST 2018]; root of context hierarchy
2018-10-05 08:55:20.473  INFO 21016 --- [      Thread-10] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase 1073741823
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.i.i.u.UnicastReceivingChannelAdapter : stopped org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter@70887727
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] s.i.s.i.UdpSyslogReceivingChannelAdapter : stopped udpReceiver
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase 0
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] .s.i.i.t.c.TcpNetClientConnectionFactory : stopped tcpConnectionFactory, host=localhost, port=3333
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.i.channel.PublishSubscribeChannel    : Channel 'application.errorChannel' has 0 subscriber(s).
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : stopped _org.springframework.integration.errorLogger
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase -2147483648
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : Removing {message-handler:streamConfiguration.handler.serviceActivator} as a subscriber to the 'udpOut' channel
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.integration.channel.DirectChannel    : Channel 'application.udpOut' has 0 subscriber(s).
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : stopped streamConfiguration.handler.serviceActivator
2018-10-05 08:55:20.474  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : Removing {message-handler:streamConfiguration.tcpSender.serviceActivator} as a subscriber to the 'tcpOut' channel
2018-10-05 08:55:20.475  INFO 21016 --- [      Thread-10] o.s.integration.channel.DirectChannel    : Channel 'application.tcpOut' has 0 subscriber(s).
2018-10-05 08:55:20.475  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : stopped streamConfiguration.tcpSender.serviceActivator
2018-10-05 08:55:20.475  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : Removing {router:payloadHandlingService.route.router} as a subscriber to the 'routingChannel' channel
2018-10-05 08:55:20.475  INFO 21016 --- [      Thread-10] o.s.integration.channel.DirectChannel    : Channel 'application.routingChannel' has 0 subscriber(s).
2018-10-05 08:55:20.475  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : stopped payloadHandlingService.route.router
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : Removing {service-activator:payloadHandlingService.handleAvrPayload.serviceActivator} as a subscriber to the 'anonymizationChannel' channel
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.integration.channel.DirectChannel    : Channel 'application.anonymizationChannel' has 0 subscriber(s).
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : stopped payloadHandlingService.handleAvrPayload.serviceActivator
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : Removing {service-activator:payloadHandlingService.handleUdpProbePayload.serviceActivator} as a subscriber to the 'loadBalancerChannel' channel
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.integration.channel.DirectChannel    : Channel 'application.loadBalancerChannel' has 0 subscriber(s).
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.i.endpoint.EventDrivenConsumer       : stopped payloadHandlingService.handleUdpProbePayload.serviceActivator
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2018-10-05 08:55:20.476  INFO 21016 --- [      Thread-10] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans
2018-10-05 08:55:20.477  INFO 21016 --- [      Thread-10] o.s.s.c.ThreadPoolTaskScheduler          : Shutting down ExecutorService 'taskScheduler'

Process finished with exit code 0

Во время отладки япопытался использовать org.springframework.integration.syslog.inbound.TcpSyslogReceivingChannelAdapter, и приложение не закрывается, даже если веб-зависимость не добавлена.По какой причине приложение закрывается при использовании org.springframework.integration.syslog.inbound.UdpSyslogReceivingChannelAdapter?Могу ли я использовать UdpSyslogReceivingChannelAdapter без spring-boot-starter-web зависимости?

1 Ответ

0 голосов
/ 05 октября 2018

Базовый адаптер 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;
}
...