Chapter 15. Atomix Messaging Component
Chapter 15. Atomix Messaging Component Available as of Camel version 2.20 The camel atomix-messaging component allows you to work with Atomix's Group Messaging . Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-atomix</artifactId> <version>USD{camel-version}</version> </dependency> 15.1. URI format atomix-messaging:group The Atomix Messaging component supports 5 options, which are listed below. Name Description Default Type configuration (common) The shared component configuration AtomixMessaging Configuration atomix (common) The shared AtomixClient instance AtomixClient nodes (common) The nodes the AtomixClient should connect to List configurationUri (common) The path to the AtomixClient configuration String resolveProperty Placeholders (advanced) Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. true boolean The Atomix Messaging endpoint is configured using URI syntax: with the following path and query parameters: 15.1.1. Path Parameters (1 parameters): Name Description Default Type resourceName Required The distributed resource name String 15.1.2. Query Parameters (19 parameters): Name Description Default Type atomix (common) The Atomix instance to use Atomix broadcastType (common) The broadcast type. ALL BroadcastType channelName (common) The messaging channel name String configurationUri (common) The Atomix configuration uri. String defaultAction (common) The default action. DIRECT Action memberName (common) The Atomix Group member name String nodes (common) The address of the nodes composing the cluster. String resultHeader (common) The header that wil carry the result. String transport (common) Sets the Atomix transport. io.atomix.catalyst.transport.netty.NettyTransport Transport bridgeErrorHandler (consumer) Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. false boolean exceptionHandler (consumer) To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. ExceptionHandler exchangePattern (consumer) Sets the exchange pattern when the consumer creates an exchange. ExchangePattern defaultResourceConfig (advanced) The cluster wide default resource configuration. Properties defaultResourceOptions (advanced) The local default resource options. Properties ephemeral (advanced) Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. false boolean readConsistency (advanced) The read consistency level. ReadConsistency resourceConfigs (advanced) Cluster wide resources configuration. Map resourceOptions (advanced) Local resources configurations Map synchronous (advanced) Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). false boolean 15.2. Spring Boot Auto-Configuration The component supports 10 options, which are listed below. Name Description Default Type camel.component.atomix-messaging.atomix The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. String camel.component.atomix-messaging.configuration-uri The path to the AtomixClient configuration String camel.component.atomix-messaging.configuration.broadcast-type The broadcast type. AtomixMessagingUSD BroadcastType camel.component.atomix-messaging.configuration.channel-name The messaging channel name String camel.component.atomix-messaging.configuration.default-action The default action. AtomixMessagingUSDAction camel.component.atomix-messaging.configuration.member-name The Atomix Group member name String camel.component.atomix-messaging.configuration.result-header The header that wil carry the result. String camel.component.atomix-messaging.enabled Whether to enable auto configuration of the atomix-messaging component. This is enabled by default. Boolean camel.component.atomix-messaging.nodes The nodes the AtomixClient should connect to List camel.component.atomix-messaging.resolve-property-placeholders Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. true Boolean
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-atomix</artifactId> <version>USD{camel-version}</version> </dependency> atomix-messaging:group atomix-messaging:resourceName