-
Notifications
You must be signed in to change notification settings - Fork 33
Message Channel
EIP reference for Message Channel can be found here - http://www.eaipatterns.com/MessageChannel.html
We currently support several types of Message Channels
Continuation from all types of channels could be expressed using '-->' (to single subscriber) or '--<' (to multiple subscribers) see an example [here] (https://github.com/olegz/scala-dsl-sample/blob/master/src/test/scala/spring/integration/scala/dsl/DSLUsageTests.scala#L87)
EIP reference for Point-to-Point Channel can be found here - http://www.eaipatterns.com/PointToPointChannel.html
val pointToPointChannel = Channel("myDirectChannel")
EIP reference for Publish-Subscribe Channel can be found here - http://www.eaipatterns.com/PublishSubscribeChannel.html
val publishSubscribeChannel = PubSubChannel("myPubSubChannel")
If you need to add any extra properties to the PubSubChannel you may do so using fluent API available with PubSubChannel. The following is available for PubSubChannel:
PubSubChannel("myPubSubChannel").applyingSequence // will set _sequenceSize_ and _sequenceNumber_ headers
PubSubChannel("myPubSubChannel").withExecutor(Executors.newCachedThreadPool()) // reference to instance of _java.util.concurrent.Executor_
// combination of both
PubSubChannel("myPubSubChannel").applyingSequence.withExecutor(Executors.newCachedThreadPool())
val queueChannel = Channel("myQueueChannel").withQueue
You can also provide capacity and messageStore values for the queue using named parameters
val queueChannel = Channel("myQueueChannel").
withQueue(capacity = 2, messageStore = new SimpleMessageStore)
Executor channel identified and configured by calling 'withDispatcher' method that takes several named parameters. The following is an example of the full configuration.
val executorChannel = Channel("executorChannel").
withDispatcher(failover = false,
loadBalancer = "round-robin",
taskExecutor = new SimpleAsyncTaskExecutor)
[Back to Reference] (https://github.com/SpringSource/spring-integration-scala/wiki/Reference)