Class RabbitChannelDefinitionProcessor
- java.lang.Object
-
- org.flowable.eventregistry.spring.rabbit.RabbitChannelDefinitionProcessor
-
- 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 RabbitChannelDefinitionProcessor 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
-
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.context.ApplicationContextapplicationContextprotected org.springframework.beans.factory.BeanFactorybeanFactorystatic StringCHANNEL_ID_PREFIXprotected org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?>containerFactoryprotected StringcontainerFactoryBeanNameprotected booleancontextRefreshedprotected org.springframework.util.StringValueResolverembeddedValueResolverprotected org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistryendpointRegistryprotected org.springframework.beans.factory.config.BeanExpressionContextexpressionContextprotected org.slf4j.Loggerloggerprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapperprotected org.springframework.amqp.rabbit.core.RabbitOperationsrabbitOperationsprotected org.springframework.beans.factory.config.BeanExpressionResolverresolver
-
Constructor Summary
Constructors Constructor Description RabbitChannelDefinitionProcessor(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanProcess(org.flowable.eventregistry.model.ChannelModel channelModel)booleancanProcessIfChannelModelAlreadyRegistered(org.flowable.eventregistry.model.ChannelModel channelModel)protected org.springframework.amqp.core.MessageListenercreateMessageListener(org.flowable.eventregistry.api.EventRegistry eventRegistry, org.flowable.eventregistry.model.InboundChannelModel inboundChannelModel)protected org.springframework.amqp.rabbit.listener.RabbitListenerEndpointcreateRabbitListenerEndpoint(org.flowable.eventregistry.model.RabbitInboundChannelModel channelModel, String tenantId, org.flowable.eventregistry.api.EventRegistry eventRegistry)org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?>getContainerFactory()StringgetContainerFactoryBeanName()protected StringgetEndpointId(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId)org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrygetEndpointRegistry()org.springframework.amqp.rabbit.core.RabbitOperationsgetRabbitOperations()voidonApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event)protected voidprocessOutboundDefinition(org.flowable.eventregistry.model.RabbitOutboundChannelModel channelDefinition)voidregisterChannelModel(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId, org.flowable.eventregistry.api.EventRegistry eventRegistry, org.flowable.eventregistry.api.EventRepositoryService eventRepositoryService, boolean fallbackToDefaultTenant)protected voidregisterEndpoint(org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint endpoint, org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> factory)Register a newRabbitListenerEndpointalongside theRabbitListenerContainerFactoryto use to create the underlying container.protected Stringresolve(String value)protected org.springframework.amqp.core.AcknowledgeModeresolveAckMode(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)protected org.springframework.amqp.rabbit.core.RabbitAdminresolveAdmin(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)protected org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?>resolveContainerFactory(org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint endpoint, org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> containerFactory)protected org.springframework.core.task.TaskExecutorresolveExecutor(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)protected ObjectresolveExpression(String value)protected StringresolveExpressionAsStringOrInteger(String value, String attribute)protected IntegerresolvePriority(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)protected voidresolveQueues(Object resolvedValue, List<String> result, org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)protected String[]resolveQueues(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext)voidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)voidsetContainerFactory(org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> containerFactory)voidsetContainerFactoryBeanName(String containerFactoryBeanName)voidsetEndpointRegistry(org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry endpointRegistry)voidsetRabbitOperations(org.springframework.amqp.rabbit.core.RabbitOperations rabbitOperations)voidunregisterChannelModel(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId, org.flowable.eventregistry.api.EventRepositoryService eventRepositoryService)
-
-
-
Field Detail
-
CHANNEL_ID_PREFIX
public static final String CHANNEL_ID_PREFIX
- See Also:
- Constant Field Values
-
logger
protected final org.slf4j.Logger logger
-
endpointRegistry
protected org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry endpointRegistry
-
containerFactoryBeanName
protected String containerFactoryBeanName
-
rabbitOperations
protected org.springframework.amqp.rabbit.core.RabbitOperations rabbitOperations
-
containerFactory
protected org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> 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
-
resolver
protected org.springframework.beans.factory.config.BeanExpressionResolver resolver
-
embeddedValueResolver
protected org.springframework.util.StringValueResolver embeddedValueResolver
-
expressionContext
protected org.springframework.beans.factory.config.BeanExpressionContext expressionContext
-
-
Method Detail
-
canProcess
public boolean canProcess(org.flowable.eventregistry.model.ChannelModel channelModel)
- Specified by:
canProcessin interfaceorg.flowable.eventregistry.api.ChannelModelProcessor
-
canProcessIfChannelModelAlreadyRegistered
public boolean canProcessIfChannelModelAlreadyRegistered(org.flowable.eventregistry.model.ChannelModel channelModel)
- Specified by:
canProcessIfChannelModelAlreadyRegisteredin interfaceorg.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:
registerChannelModelin interfaceorg.flowable.eventregistry.api.ChannelModelProcessor
-
createRabbitListenerEndpoint
protected org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint createRabbitListenerEndpoint(org.flowable.eventregistry.model.RabbitInboundChannelModel channelModel, String tenantId, org.flowable.eventregistry.api.EventRegistry eventRegistry)
-
processOutboundDefinition
protected void processOutboundDefinition(org.flowable.eventregistry.model.RabbitOutboundChannelModel channelDefinition)
-
resolveExpressionAsStringOrInteger
protected String resolveExpressionAsStringOrInteger(String value, String attribute)
-
resolveQueues
protected String[] resolveQueues(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)
-
resolveQueues
protected void resolveQueues(Object resolvedValue, List<String> result, org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)
-
resolvePriority
protected Integer resolvePriority(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)
-
resolveAdmin
protected org.springframework.amqp.rabbit.core.RabbitAdmin resolveAdmin(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)
-
resolveAckMode
protected org.springframework.amqp.core.AcknowledgeMode resolveAckMode(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)
-
resolveExecutor
protected org.springframework.core.task.TaskExecutor resolveExecutor(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition)
-
createMessageListener
protected org.springframework.amqp.core.MessageListener createMessageListener(org.flowable.eventregistry.api.EventRegistry eventRegistry, org.flowable.eventregistry.model.InboundChannelModel inboundChannelModel)
-
unregisterChannelModel
public void unregisterChannelModel(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId, org.flowable.eventregistry.api.EventRepositoryService eventRepositoryService)- Specified by:
unregisterChannelModelin interfaceorg.flowable.eventregistry.api.ChannelModelProcessor
-
registerEndpoint
protected void registerEndpoint(org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint endpoint, org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> factory)Register a newRabbitListenerEndpointalongside theRabbitListenerContainerFactoryto use to create the underlying container.The
factorymay benullif the default factory has to be used for that endpoint.
-
resolveContainerFactory
protected org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> resolveContainerFactory(org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint endpoint, org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> 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:
setBeanFactoryin interfaceorg.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:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
onApplicationEvent
public void onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event)
- Specified by:
onApplicationEventin interfaceorg.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
-
getRabbitOperations
public org.springframework.amqp.rabbit.core.RabbitOperations getRabbitOperations()
-
setRabbitOperations
public void setRabbitOperations(org.springframework.amqp.rabbit.core.RabbitOperations rabbitOperations)
-
getEndpointRegistry
public org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry getEndpointRegistry()
-
setEndpointRegistry
public void setEndpointRegistry(org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry endpointRegistry)
-
getContainerFactoryBeanName
public String getContainerFactoryBeanName()
-
setContainerFactoryBeanName
public void setContainerFactoryBeanName(String containerFactoryBeanName)
-
getContainerFactory
public org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> getContainerFactory()
-
setContainerFactory
public void setContainerFactory(org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> containerFactory)
-
-