Class DriverConfiguration

java.lang.Object
org.openwms.common.comm.app.DriverConfiguration
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationEventPublisherAware

@Configuration @EnableConfigurationProperties @EnableAspects @EnableIdentityAwareness @EnableIntegration @IntegrationComponentScan public class DriverConfiguration extends Object implements org.springframework.context.ApplicationEventPublisherAware
A DriverConfiguration is the main Spring configuration class to set up all TCP/IP connections like configured in project specific configuration files. Multiple driver instances can be bootstrapped each in a different mode, like Duplex, Client or Server.
Author:
Heiko Scherrer
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private org.springframework.context.support.GenericApplicationContext
     
    private org.springframework.context.ApplicationEventPublisher
     
    private static final org.slf4j.Logger
     
    private static final org.slf4j.Logger
     
    private static final String
     
    static final String
     
    private static final String
     
    private static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    attachReceivingChannelAdapter(org.openwms.common.comm.config.Subsystem subsystem, org.springframework.messaging.MessageChannel inboundChannel, org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory connectionFactory)
     
    (package private) org.springframework.messaging.converter.ByteArrayMessageConverter
     
    (package private) org.openwms.common.comm.app.Channels
    channels(org.openwms.common.comm.config.Connections connections, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.messaging.MessageChannel inboundChannel, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer, org.springframework.scheduling.TaskScheduler taskScheduler, String type)
     
    (package private) org.springframework.messaging.MessageChannel
     
    private org.springframework.integration.ip.tcp.connection.AbstractClientConnectionFactory
    createClientConnectionFactory(String clientHostname, int clientPort, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer, Integer soTimeout, Integer soReceiveBufferSize, Integer soSendBufferSize)
     
    private org.springframework.integration.channel.DirectChannel
    createEnrichedOutboundChannel(org.springframework.integration.handler.AbstractMessageHandler messageHandler)
     
    private org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory
    createInboundServerConnectionFactory(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
     
    private org.springframework.integration.ip.tcp.connection.TcpConnectionInterceptorFactoryChain
     
    private org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory
    createOutboundConnectionFactory(org.openwms.common.comm.config.Subsystem.MODE mode, String subsystemName, org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem.Duplex duplex, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
     
    private org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory
    createOutboundServerConnectionFactory(org.openwms.common.comm.config.Connections connections, String subsystemName, org.openwms.common.comm.config.Subsystem.Outbound outbound, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
     
    private org.springframework.integration.ip.tcp.TcpSendingMessageHandler
    createSendingMessageHandler(org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory connectionFactory)
     
    (package private) org.springframework.core.serializer.Deserializer
     
    (package private) org.springframework.messaging.MessageChannel
     
    (package private) org.springframework.integration.dsl.IntegrationFlow
    inboundFlow(org.springframework.messaging.MessageChannel inboundChannel, org.springframework.messaging.MessageChannel transformerOutputChannel, org.openwms.common.comm.transformer.tcp.Transformable telegramTransformer)
     
    (package private) org.springframework.messaging.MessageChannel
     
    private void
    registerBean(String beanName, Object singletonObject)
     
    (package private) org.springframework.core.serializer.Serializer
     
    void
    setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
     
    private void
    setupDuplex(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.messaging.MessageChannel inboundChannel, org.openwms.common.comm.app.Channels channels, org.springframework.scheduling.TaskScheduler taskScheduler, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
     
    private void
    setupInbound(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.messaging.MessageChannel inboundChannel, org.springframework.scheduling.TaskScheduler taskScheduler, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
     
    private void
    setupOutbound(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.openwms.common.comm.app.Channels channels, org.springframework.scheduling.TaskScheduler taskScheduler, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
     
    (package private) org.springframework.integration.ip.tcp.connection.TcpMessageMapper
     
    private org.springframework.integration.ip.tcp.TcpReceivingChannelAdapter
    tcpReceivingChannelAdapter(org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory connectionFactory, org.springframework.messaging.MessageChannel inboundChannel)
     
    (package private) org.openwms.common.comm.transformer.tcp.Transformable
    telegramTransformer(List<org.openwms.common.comm.tcp.TelegramDeserializer> deserializers, org.openwms.common.comm.TelegramResolver telegramResolver)
     
    org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
     
    (package private) org.springframework.messaging.MessageChannel
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • BOOT_LOGGER

      private static final org.slf4j.Logger BOOT_LOGGER
    • SUFFIX_INBOUND

      private static final String SUFFIX_INBOUND
      See Also:
    • PREFIX_CHANNEL_ADAPTER

      private static final String PREFIX_CHANNEL_ADAPTER
      See Also:
    • PREFIX_SENDING_MESSAGE_HANDLER

      private static final String PREFIX_SENDING_MESSAGE_HANDLER
      See Also:
    • PREFIX_ENRICHED_OUTBOUND_CHANNEL

      public static final String PREFIX_ENRICHED_OUTBOUND_CHANNEL
      See Also:
    • applicationEventPublisher

      private org.springframework.context.ApplicationEventPublisher applicationEventPublisher
    • applicationContext

      @Autowired private org.springframework.context.support.GenericApplicationContext applicationContext
  • Constructor Details

    • DriverConfiguration

      public DriverConfiguration()
  • Method Details

    • registerBean

      private void registerBean(String beanName, Object singletonObject)
    • tcpReceivingChannelAdapter

      private org.springframework.integration.ip.tcp.TcpReceivingChannelAdapter tcpReceivingChannelAdapter(org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory connectionFactory, org.springframework.messaging.MessageChannel inboundChannel)
    • attachReceivingChannelAdapter

      private void attachReceivingChannelAdapter(org.openwms.common.comm.config.Subsystem subsystem, org.springframework.messaging.MessageChannel inboundChannel, org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory connectionFactory)
    • createSendingMessageHandler

      private org.springframework.integration.ip.tcp.TcpSendingMessageHandler createSendingMessageHandler(org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory connectionFactory)
    • createClientConnectionFactory

      private org.springframework.integration.ip.tcp.connection.AbstractClientConnectionFactory createClientConnectionFactory(String clientHostname, int clientPort, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer, Integer soTimeout, Integer soReceiveBufferSize, Integer soSendBufferSize)
    • createInboundServerConnectionFactory

      private org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory createInboundServerConnectionFactory(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
    • createOutboundServerConnectionFactory

      private org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory createOutboundServerConnectionFactory(org.openwms.common.comm.config.Connections connections, String subsystemName, org.openwms.common.comm.config.Subsystem.Outbound outbound, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
    • createOutboundConnectionFactory

      private org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory createOutboundConnectionFactory(org.openwms.common.comm.config.Subsystem.MODE mode, String subsystemName, org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem.Duplex duplex, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
    • setupInbound

      private void setupInbound(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.messaging.MessageChannel inboundChannel, org.springframework.scheduling.TaskScheduler taskScheduler, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
    • createInterceptorChain

      private org.springframework.integration.ip.tcp.connection.TcpConnectionInterceptorFactoryChain createInterceptorChain()
    • setupOutbound

      private void setupOutbound(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.openwms.common.comm.app.Channels channels, org.springframework.scheduling.TaskScheduler taskScheduler, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
    • channels

      @Bean @DependsOn("connections") org.openwms.common.comm.app.Channels channels(org.openwms.common.comm.config.Connections connections, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.messaging.MessageChannel inboundChannel, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer, org.springframework.scheduling.TaskScheduler taskScheduler, @Value("${owms.driver.type:NA}") String type)
    • threadPoolTaskScheduler

      @Bean public org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler threadPoolTaskScheduler()
    • setupDuplex

      private void setupDuplex(org.openwms.common.comm.config.Connections connections, org.openwms.common.comm.config.Subsystem subsystem, org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper, org.springframework.messaging.MessageChannel inboundChannel, org.openwms.common.comm.app.Channels channels, org.springframework.scheduling.TaskScheduler taskScheduler, org.springframework.core.serializer.Serializer serializer, org.springframework.core.serializer.Deserializer deserializer)
    • commonExceptionChannel

      @Bean org.springframework.messaging.MessageChannel commonExceptionChannel()
    • transformerOutputChannel

      @Bean org.springframework.messaging.MessageChannel transformerOutputChannel()
    • inboundChannel

      @Bean org.springframework.messaging.MessageChannel inboundChannel()
    • outboundChannel

      @Bean org.springframework.messaging.MessageChannel outboundChannel()
    • createEnrichedOutboundChannel

      private org.springframework.integration.channel.DirectChannel createEnrichedOutboundChannel(org.springframework.integration.handler.AbstractMessageHandler messageHandler)
    • serializer

      @Bean org.springframework.core.serializer.Serializer serializer()
    • deserializer

      @Bean org.springframework.core.serializer.Deserializer deserializer()
    • tcpMessageMapper

      @Bean org.springframework.integration.ip.tcp.connection.TcpMessageMapper tcpMessageMapper()
    • byteArrayMessageConverter

      @Bean org.springframework.messaging.converter.ByteArrayMessageConverter byteArrayMessageConverter()
    • telegramTransformer

      @Bean @ConditionalOnMissingBean(org.openwms.common.comm.transformer.tcp.Transformable.class) org.openwms.common.comm.transformer.tcp.Transformable telegramTransformer(List<org.openwms.common.comm.tcp.TelegramDeserializer> deserializers, org.openwms.common.comm.TelegramResolver telegramResolver)
    • inboundFlow

      @Bean org.springframework.integration.dsl.IntegrationFlow inboundFlow(org.springframework.messaging.MessageChannel inboundChannel, org.springframework.messaging.MessageChannel transformerOutputChannel, org.openwms.common.comm.transformer.tcp.Transformable telegramTransformer)
    • setApplicationEventPublisher

      public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
      Specified by:
      setApplicationEventPublisher in interface org.springframework.context.ApplicationEventPublisherAware