Skip to content

Latest commit

 

History

History
76 lines (72 loc) · 3.6 KB

File metadata and controls

76 lines (72 loc) · 3.6 KB

The assembly providing work with the ActiveMQ (Artemis) queue


Classes

  • ActiveMqQueueConfiguration - Advanced configuration for the ActiveMQ adapter.
  • ActiveMqQueueMessageAdapter - Provides direct interaction with ActiveMQ queues.
  • ActiveMqQueueMessageAdapterConstructor - Creates instances ActiveMqQueueMessageAdapter.

Section in the configuration file:

        "activemq": { 
          "queues": [ 
            {
              "id": "<queue identifier>", // usually the queue name is specified
              "processingtype": "<processing type to listen on the queue>", // one of the values ​​of MessageProcessingType
              "server": "<broker server>",
              "port": "<broker connection port>",
              "connectionString": "<broker connection string>",
              "queuename": "<queue name>",
              "user": "<login to connect to the queue>",
              "password": "password to connect to the queue",
              "clientId": "<client id to queue>",
              "queue": "<queue name in the queue broker>",
              "transactionEnabled": "<transaction mode use flag true | false>",
              "useQueueString": "<use flag to connect the queueString field true | false>",
              "queueString": "<queue connection string>",
              "replyQueue": "<name of the queue for send reply messages>",
              "lifetime": "<lifetime of messages in TimeSpan format>",
              "timeout": "<timeout of operations in TimeSpan format>",
              "Selector": "<selector for reading filtered messages from the queue>",
              "intervalPollingQueue": 
            } 
          ] 
        }

Listening mode (processingType)

  • Transactions are only supported in ThreadStrategy mode.
  • If transactions are disabled (transactionEnabled == false), then it can use both ThreadStrategy and the subscription mode (Subscribe/SubscribeAndReply).
  • connectionString if specified has higher priority than server and port. Example: "connectionString": "activemq:failover:(tcp://remotehost1:61616,tcp://remotehost2:61616,...,tcp://remotehostN:61616)?initialReconnectDelay=100&maxReconnectAttempts=-1"
  • AMQP protocol can be enabled with corresponding connection string examples:
    • amqp://remotehost1:61616
    • failover:(amqp://remotehost1:61616,amqp://remotehost2:61616)
        "activemq": { 
          "queues": [ 
            {
              "id": "id",
              "processingtype": "SubscribeAndReply",
              "server": "localhost",
              "port": "61616",
              "queueName": "name",
              "replyQueue": "replyName",
              "lifetime": "00:01:00",
              "user": "admin",
              "password": "admin",
              "isHealthCheck": "true",
              "serviceHealthDependent": true
            },
            {
              "id": "id",
              "processingtype": "Subscribe",
              "connectionString": "activemq:failover:(tcp://remotehost1:61616,tcp://remotehost2:61616,...,tcp://remotehostN:61616)?initialReconnectDelay=100&maxReconnectAttempts=-1"
              "port": "61616",
              "queueName": "name",
              "intervalPollingQueue": "10000",
              "user": "admin",
              "password": "admin",
              "isHealthCheck": "true",
              "serviceHealthDependent": true
            }
          ] 
        }