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
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected org.springframework.beans.factory.BeanFactorystatic final Stringprotected org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?>protected Stringprotected booleanprotected org.springframework.util.StringValueResolverprotected org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistryprotected org.springframework.beans.factory.config.BeanExpressionContextprotected final org.slf4j.Loggerprotected com.fasterxml.jackson.databind.ObjectMapperprotected org.springframework.amqp.rabbit.core.RabbitOperationsprotected org.springframework.beans.factory.config.BeanExpressionResolver -
Constructor Summary
ConstructorsConstructorDescriptionRabbitChannelDefinitionProcessor(com.fasterxml.jackson.databind.ObjectMapper objectMapper) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanProcess(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<?>protected StringgetEndpointId(org.flowable.eventregistry.model.ChannelModel channelModel, String tenantId) org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistryorg.springframework.amqp.rabbit.core.RabbitOperationsvoidonApplicationEvent(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 Stringprotected 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 Details
-
CHANNEL_ID_PREFIX
- See Also:
-
logger
protected final org.slf4j.Logger logger -
endpointRegistry
protected org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry endpointRegistry -
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
-
-
Constructor Details
-
RabbitChannelDefinitionProcessor
public RabbitChannelDefinitionProcessor(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Details
-
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
-
resolveQueues
protected String[] resolveQueues(org.flowable.eventregistry.model.RabbitInboundChannelModel channelDefinition) -
resolveQueues
-
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) -
resolveExpression
-
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
-
resolve
-
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
-
setContainerFactoryBeanName
-
getContainerFactory
public org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> getContainerFactory() -
setContainerFactory
public void setContainerFactory(org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory<?> containerFactory)
-