- Introduction
- 1. Legal Notice
- 2. Preface
- 3. Project Info
- 4. Messaging Concepts
- 5. Architecture
- 6. Using the Server
- 7. Using JMS
- 8. Using Core
- 9. Mapping JMS Concepts to the Core API
- 10. The Client Classpath
- 11. Examples
- 12. Routing Messages With Wild Cards
- 13. Understanding the Apache ActiveMQ Artemis Wildcard Syntax
- 14. Filter Expressions
- 15. Persistence
- 16. Configuring Transports
- 17. Detecting Dead Connections
- 18. Detecting Slow Consumers
- 19. Resource Manager Configuration
- 20. Flow Control
- 21. Guarantees of sends and commits
- 22. Message Redelivery and Undelivered Messages
- 23. Message Expiry
- 24. Large Messages
- 25. Paging
- 26. Queue Attributes
- 27. Scheduled Messages
- 28. Last-Value Queues
- 29. Message Grouping
- 30. Extra Acknowledge Modes
- 31. Management
- 32. Security
- 33. Resource Limits
- 34. The JMS Bridge
- 35. Client Reconnection and Session Reattachment
- 36. Diverting and Splitting Message Flows
- 37. Core Bridges
- 38. Duplicate Message Detection
- 39. Clusters
- 40. High Availability and Failover
- 41. Graceful Server Shutdown
- 42. Libaio Native Libraries
- 43. Thread management
- 44. Logging
- 45. REST Interface
- 46. Embedding Apache ActiveMQ Artemis
- 47. Spring Integration
- 48. AeroGear Integration
- 49. VertX Integration
- 50. Intercepting Operations
- 51. Protocols and Interoperability
- 52. Tools
- 53. Maven Plugin
- 54. Troubleshooting and Performance Tuning
- 55. Configuration Reference
- Published using GitBook

# ActiveMQ Artemis Documentation

# Vert.x Integration

Vert.x is a lightweight, high performance application platform for the JVM that's designed for modern mobile, web, and enterprise applications. Vert.x provides a distributed event bus that allows messages to be sent across vert.x instances and clients. You can now redirect and persist any vert.x messages to Apache ActiveMQ Artemis and route those messages to a specified vertx address by configuring Apache ActiveMQ Artemis vertx incoming and outgoing vertx connector services.

## Configuring a Vertx Incoming Connector Service

Vertx Incoming Connector services receive messages from vertx event bus and route them to an Apache ActiveMQ Artemis queue. Such a service can be configured as follows:

    <connector-service name="vertx-incoming-connector">
    <factory-class>org.apache.activemq.integration.vertx.VertxIncomingConnectorServiceFactory</factory-class>
    <param key="host" value="127.0.0.1"/>
    <param key="port" value="0"/>
    <param key="queue" value="jms.queue.vertxQueue"/>
    <param key="vertx-address" value="vertx.in.eventaddress"/>
    </connector-service>

Shown are the required params for the connector service:

- `queue`. The name of the Apache ActiveMQ Artemis queue to send message to.

As well as these required parameters there are the following optional parameters

- `host`. The host name on which the vertx target container is running. Default is localhost.

- `port`. The port number to which the target vertx listens. Default is zero.

- `quorum-size`. The quorum size of the target vertx instance.

- `ha-group`. The name of the ha-group of target vertx instance. Default is `activemq`.

- `vertx-address`. The vertx address to listen to. default is `org.apache.activemq`.

## Configuring a Vertx Outgoing Connector Service

Vertx Outgoing Connector services fetch vertx messages from a ActiveMQ queue and put them to vertx event bus. Such a service can be configured as follows:

    <connector-service name="vertx-outgoing-connector">
    <factory-class>org.apache.activemq.integration.vertx.VertxOutgoingConnectorServiceFactory</factory-class>
    <param key="host" value="127.0.0.1"/>
    <param key="port" value="0"/>
    <param key="queue" value="jms.queue.vertxQueue"/>
    <param key="vertx-address" value="vertx.out.eventaddress"/>
    <param key="publish" value="true"/>
    </connector-service>

Shown are the required params for the connector service:

- `queue`. The name of the Apache ActiveMQ Artemis queue to fetch message from.

As well as these required paramaters there are the following optional parameters

- `host`. The host name on which the vertx target container is running. Default is localhost.

- `port`. The port number to which the target vertx listens. Default is zero.

- `quorum-size`. The quorum size of the target vertx instance.

- `ha-group`. The name of the ha-group of target vertx instance. Default is `activemq`.

- `vertx-address`. The vertx address to put messages to. default is org.apache.activemq.

- `publish`. How messages is sent to vertx event bus. "true" means using publish style. "false" means using send style. Default is false.