Class JmsChannelModelProcessor

  • All Implemented Interfaces:
    EventListener, org.flowable.eventregistry.api.ChannelModelProcessor, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>

    public class JmsChannelModelProcessor
    extends Object
    implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>, org.flowable.eventregistry.api.ChannelModelProcessor
    Author:
    Filip Hrisafov
    • Constructor Summary

      Constructors 
      Constructor Description
      JmsChannelModelProcessor​(com.fasterxml.jackson.databind.ObjectMapper objectMapper)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canProcess​(org.flowable.eventregistry.model.ChannelModel channelModel)  
      boolean canProcessIfChannelModelAlreadyRegistered​(org.flowable.eventregistry.model.ChannelModel channelModel)  
      protected org.springframework.jms.config.JmsListenerEndpoint createJmsListenerEndpoint​(org.flowable.eventregistry.model.JmsInboundChannelModel jmsChannelModel, String tenantId, org.flowable.eventregistry.api.EventRegistry eventRegistry)  
      protected javax.jms.MessageListener createMessageListener​(org.flowable.eventregistry.api.EventRegistry eventRegistry, org.flowable.eventregistry.model.InboundChannelModel inboundChannelModel)  
      protected org.flowable.eventregistry.api.OutboundEventChannelAdapter createOutboundEventChannelAdapter​(org.flowable.eventregistry.model.JmsOutboundChannelModel channelModel)  
      org.springframework.jms.config.JmsListenerContainerFactory<?> getContainerFactory()  
      String getContainerFactoryBeanName()  
      protected String getEndpointId​(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId)  
      org.springframework.jms.config.JmsListenerEndpointRegistry getEndpointRegistry()  
      org.springframework.jms.core.JmsOperations getJmsOperations()  
      void onApplicationEvent​(org.springframework.context.event.ContextRefreshedEvent event)  
      protected void processOutboundDefinition​(org.flowable.eventregistry.model.JmsOutboundChannelModel channelModel)  
      void registerChannelModel​(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId, org.flowable.eventregistry.api.EventRegistry eventRegistry, org.flowable.eventregistry.api.EventRepositoryService eventRepositoryService, boolean fallbackToDefaultTenant)  
      protected void registerEndpoint​(org.springframework.jms.config.JmsListenerEndpoint endpoint, org.springframework.jms.config.JmsListenerContainerFactory<?> factory)
      Register a new JmsListenerEndpoint alongside the JmsListenerContainerFactory to use to create the underlying container.
      protected String resolve​(String value)  
      protected org.springframework.jms.config.JmsListenerContainerFactory<?> resolveContainerFactory​(org.springframework.jms.config.JmsListenerEndpoint endpoint, org.springframework.jms.config.JmsListenerContainerFactory<?> containerFactory)  
      void setApplicationContext​(org.springframework.context.ApplicationContext applicationContext)  
      void setBeanFactory​(org.springframework.beans.factory.BeanFactory beanFactory)  
      void setContainerFactory​(org.springframework.jms.config.JmsListenerContainerFactory<?> containerFactory)  
      void setContainerFactoryBeanName​(String containerFactoryBeanName)  
      void setEndpointRegistry​(org.springframework.jms.config.JmsListenerEndpointRegistry endpointRegistry)  
      void setJmsOperations​(org.springframework.jms.core.JmsOperations jmsOperations)  
      void unregisterChannelModel​(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId, org.flowable.eventregistry.api.EventRepositoryService eventRepositoryService)  
    • Field Detail

      • logger

        protected final org.slf4j.Logger logger
      • jmsOperations

        protected org.springframework.jms.core.JmsOperations jmsOperations
      • endpointRegistry

        protected org.springframework.jms.config.JmsListenerEndpointRegistry endpointRegistry
      • containerFactoryBeanName

        protected String containerFactoryBeanName
      • containerFactory

        protected org.springframework.jms.config.JmsListenerContainerFactory<?> containerFactory
      • beanFactory

        protected org.springframework.beans.factory.BeanFactory beanFactory
      • applicationContext

        protected org.springframework.context.ApplicationContext applicationContext
      • contextRefreshed

        protected boolean contextRefreshed
      • objectMapper

        protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
      • embeddedValueResolver

        protected org.springframework.util.StringValueResolver embeddedValueResolver
    • Constructor Detail

      • JmsChannelModelProcessor

        public JmsChannelModelProcessor​(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
    • Method Detail

      • canProcess

        public boolean canProcess​(org.flowable.eventregistry.model.ChannelModel channelModel)
        Specified by:
        canProcess in interface org.flowable.eventregistry.api.ChannelModelProcessor
      • canProcessIfChannelModelAlreadyRegistered

        public boolean canProcessIfChannelModelAlreadyRegistered​(org.flowable.eventregistry.model.ChannelModel channelModel)
        Specified by:
        canProcessIfChannelModelAlreadyRegistered in interface org.flowable.eventregistry.api.ChannelModelProcessor
      • registerChannelModel

        public void registerChannelModel​(org.flowable.eventregistry.model.ChannelModel channelModel,
                                         String tenantId,
                                         org.flowable.eventregistry.api.EventRegistry eventRegistry,
                                         org.flowable.eventregistry.api.EventRepositoryService eventRepositoryService,
                                         boolean fallbackToDefaultTenant)
        Specified by:
        registerChannelModel in interface org.flowable.eventregistry.api.ChannelModelProcessor
      • createJmsListenerEndpoint

        protected org.springframework.jms.config.JmsListenerEndpoint createJmsListenerEndpoint​(org.flowable.eventregistry.model.JmsInboundChannelModel jmsChannelModel,
                                                                                               String tenantId,
                                                                                               org.flowable.eventregistry.api.EventRegistry eventRegistry)
      • createMessageListener

        protected javax.jms.MessageListener createMessageListener​(org.flowable.eventregistry.api.EventRegistry eventRegistry,
                                                                  org.flowable.eventregistry.model.InboundChannelModel inboundChannelModel)
      • processOutboundDefinition

        protected void processOutboundDefinition​(org.flowable.eventregistry.model.JmsOutboundChannelModel channelModel)
      • createOutboundEventChannelAdapter

        protected org.flowable.eventregistry.api.OutboundEventChannelAdapter createOutboundEventChannelAdapter​(org.flowable.eventregistry.model.JmsOutboundChannelModel channelModel)
      • unregisterChannelModel

        public void unregisterChannelModel​(org.flowable.eventregistry.model.ChannelModel channelModel,
                                           String tenantId,
                                           org.flowable.eventregistry.api.EventRepositoryService eventRepositoryService)
        Specified by:
        unregisterChannelModel in interface org.flowable.eventregistry.api.ChannelModelProcessor
      • registerEndpoint

        protected void registerEndpoint​(org.springframework.jms.config.JmsListenerEndpoint endpoint,
                                        org.springframework.jms.config.JmsListenerContainerFactory<?> factory)
        Register a new JmsListenerEndpoint alongside the JmsListenerContainerFactory to use to create the underlying container.

        The factory may be null if the default factory has to be used for that endpoint.

      • resolveContainerFactory

        protected org.springframework.jms.config.JmsListenerContainerFactory<?> resolveContainerFactory​(org.springframework.jms.config.JmsListenerEndpoint endpoint,
                                                                                                        org.springframework.jms.config.JmsListenerContainerFactory<?> containerFactory)
      • getEndpointId

        protected String getEndpointId​(org.flowable.eventregistry.model.ChannelModel channelModel,
                                       String tenantId)
      • setBeanFactory

        public void setBeanFactory​(org.springframework.beans.factory.BeanFactory beanFactory)
                            throws org.springframework.beans.BeansException
        Specified by:
        setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
        Throws:
        org.springframework.beans.BeansException
      • setApplicationContext

        public void setApplicationContext​(org.springframework.context.ApplicationContext applicationContext)
                                   throws org.springframework.beans.BeansException
        Specified by:
        setApplicationContext in interface org.springframework.context.ApplicationContextAware
        Throws:
        org.springframework.beans.BeansException
      • onApplicationEvent

        public void onApplicationEvent​(org.springframework.context.event.ContextRefreshedEvent event)
        Specified by:
        onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
      • getJmsOperations

        public org.springframework.jms.core.JmsOperations getJmsOperations()
      • setJmsOperations

        public void setJmsOperations​(org.springframework.jms.core.JmsOperations jmsOperations)
      • getEndpointRegistry

        public org.springframework.jms.config.JmsListenerEndpointRegistry getEndpointRegistry()
      • setEndpointRegistry

        public void setEndpointRegistry​(org.springframework.jms.config.JmsListenerEndpointRegistry endpointRegistry)
      • getContainerFactoryBeanName

        public String getContainerFactoryBeanName()
      • setContainerFactoryBeanName

        public void setContainerFactoryBeanName​(String containerFactoryBeanName)
      • getContainerFactory

        public org.springframework.jms.config.JmsListenerContainerFactory<?> getContainerFactory()
      • setContainerFactory

        public void setContainerFactory​(org.springframework.jms.config.JmsListenerContainerFactory<?> containerFactory)