Interface InboundChannelModelBuilder
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
Modifier and TypeInterfaceDescriptionstatic interface
Builder for the filtering out inbound events.static interface
Builder for the filtering out inbound JSON events.static interface
Builder for the filtering out inbound XML events.static interface
Builder for the 'key detection' part of theInboundChannelModel
.static interface
Builder for the 'key detection' part of theInboundChannelModel
, specifically for JSON events.static interface
Builder for the 'key detection' part of theInboundChannelModel
, specifically for XML events.static interface
Builder for the 'payload extraction' part of theInboundChannelModel
.static interface
Builder for the 'payload extraction' part of theInboundChannelModel
.static interface
Builder for the 'payload extraction' part of theInboundChannelModel
.static interface
Builder for the 'processing pipeline' part of theInboundChannelModel
.static interface
Builder for the 'tenant ID detection' part of theInboundChannelModel
.static interface
Builder for the 'tenant ID detection' part of theInboundChannelModel
, specifically for JSON eventsstatic interface
Builder for the 'tenant ID detection' part of theInboundChannelModel
, specifically for XML eventsstatic interface
static interface
Builder to create anInboundEventChannelAdapter
using JMS.static interface
Builder to create anInboundEventChannelAdapter
using Kafka.static interface
Builder to create anInboundEventChannelAdapter
using RabbitMQ. -
Method Summary
Modifier and TypeMethodDescriptionSet the category for the channel deployment.channelAdapter
(String delegateExpression) Sets a customInboundEventChannelAdapter
via a delegate expression.deploy()
Creates theInboundChannelModel
instance 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 customInboundEventChannelAdapter
via 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 theInboundChannelModel
instance based on the configuration and registers it with theEventRepositoryService
.
-