Interface InboundChannelModelBuilder
- All Known Implementing Classes:
InboundChannelDefinitionBuilderImpl
public interface InboundChannelModelBuilder
A builder to create a
InboundChannelModel instance,
which represents a channel from the 'outside world' to receive events.
An inbound channel consists of the following parts:
- An adapter that defines how/where the events are received, each with specific configurations.
- An event processing pipeline, which transforms the incoming event and extracts data and metadata:
- deserialization (from the 'raw' event to something else)
- event key detection: detects the 'key' which will define the EventModel to be used.
- tenant detection (only relevant when using multi-tenant): detects a 'tenantId' which is used to determine
the correct EventDefinition.
- payload extraction: with the EventModel determined,
the definition is used to extract the payload from the event data.
- transformation: transforms the event to an internal representation,
ready to be passed to the EventRegistry.
- (Optionally) custom steps (or override any of the above)- Author:
- Joram Barrez, Filip Hrisafov
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceBuilder for the filtering out inbound events.static interfaceBuilder for the filtering out inbound JSON events.static interfaceBuilder for the filtering out inbound XML events.static interfaceBuilder for the 'key detection' part of theInboundChannelModel.static interfaceBuilder for the 'key detection' part of theInboundChannelModel, specifically for JSON events.static interfaceBuilder for the 'key detection' part of theInboundChannelModel, specifically for XML events.static interfaceBuilder for the 'payload extraction' part of theInboundChannelModel.static interfaceBuilder for the 'payload extraction' part of theInboundChannelModel.static interfaceBuilder for the 'payload extraction' part of theInboundChannelModel.static interfaceBuilder for the 'processing pipeline' part of theInboundChannelModel.static interfaceBuilder for the 'tenant ID detection' part of theInboundChannelModel.static interfaceBuilder for the 'tenant ID detection' part of theInboundChannelModel, specifically for JSON eventsstatic interfaceBuilder for the 'tenant ID detection' part of theInboundChannelModel, specifically for XML eventsstatic interfacestatic interfaceBuilder to create anInboundEventChannelAdapterusing JMS.static interfaceBuilder to create anInboundEventChannelAdapterusing Kafka.static interfaceBuilder to create anInboundEventChannelAdapterusing RabbitMQ. -
Method Summary
Modifier and TypeMethodDescriptionSet the category for the channel deployment.channelAdapter(String delegateExpression) Sets a customInboundEventChannelAdaptervia a delegate expression.deploy()Creates theInboundChannelModelinstance based on the configuration and registers it with theEventRepositoryService.deploymentName(String deploymentName) Set the name for the channel deployment.deploymentTenantId(String deploymentTenantId) Set the tenant id for the channel deployment.jmsChannelAdapter(String destinationName) Configures an adapter which will receive events using JMS.kafkaChannelAdapter(String topic) Configures an adapter which receives events using Kafka.Each channel needs to have a unique key to identity it.parentDeploymentId(String parentDeploymentId) Set the parent deployment id for the channel deployment.rabbitChannelAdapter(String queue) Configures an adapter which will receive events using a RabbitMQ.resourceName(String resourceName) Set the resource name for the channel model.
-
Method Details
-
key
Each channel needs to have a unique key to identity it. -
deploymentName
Set the name for the channel deployment. -
resourceName
Set the resource name for the channel model. -
category
Set the category for the channel deployment. -
deploymentTenantId
Set the tenant id for the channel deployment. -
parentDeploymentId
Set the parent deployment id for the channel deployment. -
channelAdapter
InboundChannelModelBuilder.InboundEventProcessingPipelineBuilder channelAdapter(String delegateExpression) Sets a customInboundEventChannelAdaptervia a delegate expression. -
jmsChannelAdapter
Configures an adapter which will receive events using JMS. -
rabbitChannelAdapter
Configures an adapter which will receive events using a RabbitMQ. -
kafkaChannelAdapter
Configures an adapter which receives events using Kafka. -
deploy
EventDeployment deploy()Creates theInboundChannelModelinstance based on the configuration and registers it with theEventRepositoryService.
-