XBean XML Reference 5.0

Using ActiveMQ Classic > Xml Reference > XBean XML Reference 5.0

Elements By Type

The org.apache.activemq.broker.TransportConnector Type Implementations

<transportConnector>

The org.apache.activemq.network.jms.InboundQueueBridge Type Implementations

<inboundQueueBridge>

Create an Inbound Queue Bridge

The org.apache.activemq.network.NetworkConnector Type Implementations

<ldapNetworkConnector>

class to create dynamic network connectors listed in an directory server using the LDAP v3 protocol as defined in RFC 2251, the entries listed in the directory server must implement the ipHost and ipService objectClasses as defined in RFC 2307.

<multicastNetworkConnector>

A network connector which uses some kind of multicast-like transport that communicates with potentially many remote brokers over a single logical {@link Transport} instance such as when using multicast. This implementation does not depend on multicast at all; any other group based transport could be used.

<networkConnector>

A network connector which uses a discovery agent to detect the remote brokers available and setup a connection to each available remote broker

The org.apache.activemq.broker.BrokerService Type Implementations

<broker>

An ActiveMQ Classic Message Broker. It consists of a number of transport connectors, network connectors and a bunch of properties which can be used to configure the broker as its lazily created.

The org.apache.activemq.usage.TempUsage Type Implementations

<tempUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

The org.apache.activemq.broker.region.policy.PendingSubscriberMessageStoragePolicy Type Implementations

<fileCursor>

Pending messages

<vmCursor>

Pending messages held

The org.apache.activemq.usage.MemoryUsage Type Implementations

<memoryUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

The org.apache.activemq.broker.BrokerPlugin Type Implementations

<authorizationPlugin>

An authorization plugin where each operation on a destination is checked against an authorizationMap

<connectionDotFilePlugin>

A DOT file creator plugin which creates a DOT file showing the current connections

<destinationDotFilePlugin>

A DOT file creator plugin which creates a DOT file showing the current topic & queue hierarchies.

<jaasAuthenticationPlugin>

Provides a JAAS based authentication plugin

<jaasCertificateAuthenticationPlugin>

Provides a JAAS based SSL certificate authentication plugin

<loggingBrokerPlugin>

A simple Broker interceptor which allows you to enable/disable logging.

<multicastTraceBrokerPlugin>

A Broker interceptor which allows you to trace all operations to a Multicast socket.

<simpleAuthenticationPlugin>

Provides a simple authentication plugin

<timeStampingBrokerPlugin>

A Broker interceptor which updates a JMS Client’s timestamp on the message with a broker timestamp. Useful when the clocks on client machines are known to not be correct and you can only trust the time set on the broker machines. Enabling this plugin will break JMS compliance since the timestamp that the producer sees on the messages after as send() will be different from the timestamp the consumer will observe when he receives the message. This plugin is not enabled in the default ActiveMQ Classic configuration.

<udpTraceBrokerPlugin>

A Broker interceptor which allows you to trace all operations to a UDP socket.

The org.apache.activemq.store.jdbc.JDBCAdapter Type Implementations

<axionJDBCAdapter>

Axion specific Adapter. Axion does not seem to support ALTER statements or sub-selects. This means: - We cannot auto upgrade the schema was we roll out new versions of ActiveMQ Classic - We cannot delete durable sub messages that have be acknowledged by all consumers.

<blobJDBCAdapter>

This JDBCAdapter inserts and extracts BLOB data using the getBlob()/setBlob() operations. This is a little more involved since to insert a blob you have to: 1: insert empty blob. 2: select the blob 3: finally update the blob with data value. The databases/JDBC drivers that use this adapter are:

<bytesJDBCAdapter>

This JDBCAdapter inserts and extracts BLOB data using the setBytes()/getBytes() operations. The databases/JDBC drivers that use this adapter are:

<db2JDBCAdapter>

<defaultJDBCAdapter>

Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter.

sub-classing is encouraged to override the default implementation of methods to account for differences in JDBC Driver implementations.

The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations.

The databases/JDBC drivers that use this adapter are:

<imageBasedJDBCAdaptor>

Provides JDBCAdapter since that uses IMAGE datatype to hold binary data. The databases/JDBC drivers that use this adapter are:

  • Sybase
  • MS SQL

<informixJDBCAdapter>

JDBC Adapter for Informix database. Because Informix database restricts length of composite primary keys, length of container name field and subscription id field must be reduced to 150 characters. Therefore be sure not to use longer names for container name and subscription id than 150 characters.

<oracleJDBCAdapter>

Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter.

Subclassing is encouraged to override the default implementation of methods to account for differences in JDBC Driver implementations.

The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations.

The databases/JDBC drivers that use this adapter are:

<streamJDBCAdapter>

This JDBCAdapter inserts and extracts BLOB data using the setBinaryStream()/getBinaryStream() operations. The databases/JDBC drivers that use this adapter are:

  • Axion

The org.apache.activemq.broker.region.policy.PendingQueueMessageStoragePolicy Type Implementations

<fileQueueCursor>

Pending

<storeCursor>

Pending messages

<vmQueueCursor>

Pending messages

The javax.jms.TopicConnectionFactory Type Implementations

<connectionFactory>

A Spring enhanced connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

<xaConnectionFactory>

A Spring enhanced XA connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

The org.apache.activemq.broker.region.virtual.VirtualDestination Type Implementations

<compositeQueue>

Represents a virtual queue which forwards to a number of other destinations.

<compositeTopic>

Represents a virtual topic which forwards to a number of other destinations.

<virtualTopic>

Creates Virtual Topics using a prefix and postfix. The virtual destination creates a wildcard that is then used to look up all active queue subscriptions which match.

The org.apache.activemq.broker.region.policy.PolicyMap Type Implementations

<policyMap>

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies.

The org.apache.activemq.usage.UsageCapacity Type Implementations

<defaultUsageCapacity>

Identify if a limit has been reached

<usageCapacity>

Identify if a limit has been reached

The org.apache.activemq.broker.region.policy.PendingMessageLimitStrategy Type Implementations

<constantPendingMessageLimitStrategy>

This PendingMessageLimitStrategy is configured to a constant value for all subscriptions.

<prefetchRatePendingMessageLimitStrategy>

This PendingMessageLimitStrategy sets the maximum pending message limit value to be a multiplier of the prefetch limit of the subscription.

The org.apache.activemq.usage.SystemUsage Type Implementations

<systemUsage>

Holder for Usage instances for memory, store and temp files Main use case is manage memory usage.

The javax.jms.Destination Type Implementations

<queue>

An ActiveMQ Classic Queue

<topic>

An ActiveMQ Classic Topic

The org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy Type Implementations

<fixedCountSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed count of last messages.

<fixedSizedSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed amount of memory available in RAM for message history which is evicted in time order.

<lastImageSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will only keep the last message.

<noSubscriptionRecoveryPolicy>

This SubscriptionRecoveryPolicy disable recovery of messages.

<queryBasedSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will perform a user specific query mechanism to load any messages they may have missed.

<timedSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will keep a timed buffer of messages around in memory and use that to recover new subscriptions.

The javax.jms.QueueConnectionFactory Type Implementations

<connectionFactory>

A Spring enhanced connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

<xaConnectionFactory>

A Spring enhanced XA connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

The org.apache.activemq.broker.jmx.ManagementContext Type Implementations

<managementContext>

A Flow provides different dispatch policies within the NMR

The org.apache.activemq.store.jdbc.Statements Type Implementations

<statements>

The org.apache.activemq.store.PersistenceAdapterFactory Type Implementations

<amqPersistenceAdapterFactory>

An implementation of {@link PersistenceAdapterFactory}

<journaledJDBC>

Creates a default persistence model using the Journal and JDBC

The org.apache.activemq.security.AuthorizationEntry Type Implementations

<authorizationEntry>

Represents an entry in a {@link DefaultAuthorizationMap} for assigning different operations (read, write, admin) of user roles to a specific destination or a hierarchical wildcard area of destinations.

<tempDestinationAuthorizationEntry>

Represents an entry in a {@link DefaultAuthorizationMap} for assigning different operations (read, write, admin) of user roles to a temporary destination

The org.apache.activemq.broker.region.policy.PendingDurableSubscriberMessageStoragePolicy Type Implementations

<fileDurableSubscriberCursor>

Pending messages for durable subscribers

<storeDurableSubscriberCursor>

Pending messages for a durable

<vmDurableCursor>

Pending

The org.apache.activemq.broker.region.group.MessageGroupMapFactory Type Implementations

<messageGroupHashBucketFactory>

A factory to create instances of {@link SimpleMessageGroupMap} when implementing the Message Groups functionality.

<simpleMessageGroupMapFactory>

A factory to create instances of {@link SimpleMessageGroupMap} when implementing the Message Groups functionality.

The org.apache.activemq.usage.StoreUsage Type Implementations

<storeUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

The org.apache.activemq.broker.region.policy.DeadLetterStrategy Type Implementations

<individualDeadLetterStrategy>

A {@link DeadLetterStrategy} where each destination has its own individual DLQ using the subject naming hierarchy.

<sharedDeadLetterStrategy>

A default implementation of {@link DeadLetterStrategy} which uses a constant destination.

The javax.jms.Topic Type Implementations

<topic>

An ActiveMQ Classic Topic

The org.apache.activemq.ActiveMQPrefetchPolicy Type Implementations

<prefetchPolicy>

Defines the prefetch message policies for different types of consumers

The org.apache.activemq.broker.Broker Type Implementations

<loggingBrokerPlugin>

A simple Broker interceptor which allows you to enable/disable logging.

<multicastTraceBrokerPlugin>

A Broker interceptor which allows you to trace all operations to a Multicast socket.

<timeStampingBrokerPlugin>

A Broker interceptor which updates a JMS Client’s timestamp on the message with a broker timestamp. Useful when the clocks on client machines are known to not be correct and you can only trust the time set on the broker machines. Enabling this plugin will break JMS compliance since the timestamp that the producer sees on the messages after as send() will be different from the timestamp the consumer will observe when he receives the message. This plugin is not enabled in the default ActiveMQ Classic configuration.

<udpTraceBrokerPlugin>

A Broker interceptor which allows you to trace all operations to a UDP socket.

The org.apache.activemq.store.PersistenceAdapter Type Implementations

<amqPersistenceAdapter>

An implementation of {@link PersistenceAdapter} designed for use with a {@link Journal} and then check pointing asynchronously on a timeout with some other long term persistent storage.

<jdbcPersistenceAdapter>

A {@link PersistenceAdapter} implementation using JDBC for persistence storage. This persistence adapter will correctly remember prepared XA transactions, but it will not keep track of local transaction commits so that operations performed against the Message store are done as a single uow.

<journalPersistenceAdapter>

An implementation of {@link PersistenceAdapter} designed for use with a {@link Journal} and then check pointing asynchronously on a timeout with some other long term persistent storage.

<kahaPersistenceAdapter>

<memoryPersistenceAdapter>

The org.apache.activemq.broker.region.policy.PolicyEntry Type Implementations

<policyEntry>

Represents an entry in a {@link PolicyMap} for assigning policies to a specific destination or a hierarchical wildcard area of destinations.

The org.apache.activemq.network.DemandForwardingBridgeSupport Type Implementations

<compositeDemandForwardingBridge>

A demand forwarding bridge which works with multicast style transports where a single Transport could be communicating with multiple remote brokers

<demandForwardingBridge>

Forwards messages from the local broker to the remote broker based on demand.

The org.apache.activemq.network.jms.OutboundQueueBridge Type Implementations

<outboundQueueBridge>

Create an Outbound Queue Bridge

The org.apache.activemq.store.jdbc.JDBCPersistenceAdapter Type Implementations

<jdbcPersistenceAdapter>

A {@link PersistenceAdapter} implementation using JDBC for persistence storage. This persistence adapter will correctly remember prepared XA transactions, but it will not keep track of local transaction commits so that operations performed against the Message store are done as a single uow.

The org.apache.activemq.command.ActiveMQDestination Type Implementations

<queue>

An ActiveMQ Classic Queue

<topic>

An ActiveMQ Classic Topic

The org.apache.activemq.network.jms.InboundTopicBridge Type Implementations

<inboundTopicBridge>

Create an Inbound Topic Bridge

The org.apache.activemq.network.jms.JmsConnector Type Implementations

<jmsQueueConnector>

A Bridge to other JMS Queue providers

<jmsTopicConnector>

A Bridge to other JMS Topic providers

The org.apache.activemq.RedeliveryPolicy Type Implementations

<redeliveryPolicy>

Configuration options used to control how messages are re-delivered when they are rolled back.

The org.apache.activemq.security.AuthorizationMap Type Implementations

<authorizationMap>

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies. Each entry in the map represents the authorization ACLs for each operation.

<lDAPAuthorizationMap>

An {@link AuthorizationMap} which uses LDAP

<simpleAuthorizationMap>

An AuthorizationMap which is configured with individual DestinationMaps for each operation.

The org.apache.activemq.security.TempDestinationAuthorizationEntry Type Implementations

<tempDestinationAuthorizationEntry>

Represents an entry in a {@link DefaultAuthorizationMap} for assigning different operations (read, write, admin) of user roles to a temporary destination

The org.apache.activemq.broker.region.policy.DispatchPolicy Type Implementations

<roundRobinDispatchPolicy>

Simple dispatch policy that sends a message to every subscription that matches the message.

<simpleDispatchPolicy>

Simple dispatch policy that sends a message to every subscription that matches the message.

<strictOrderDispatchPolicy>

Dispatch policy that causes every subscription to see messages in the same order.

The javax.jms.ConnectionFactory Type Implementations

<connectionFactory>

A Spring enhanced connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

<xaConnectionFactory>

A Spring enhanced XA connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

The javax.jms.Queue Type Implementations

<queue>

An ActiveMQ Classic Queue

The org.apache.activemq.broker.region.policy.MessageEvictionStrategy Type Implementations

<oldestMessageEvictionStrategy>

An eviction strategy which evicts the oldest message first (which is the default).

<oldestMessageWithLowestPriorityEvictionStrategy>

An eviction strategy which evicts the oldest message with the lowest priority first.

The org.apache.activemq.Service Type Implementations

<broker>

An ActiveMQ Classic Message Broker. It consists of a number of transport connectors, network connectors and a bunch of properties which can be used to configure the broker as its lazily created.

<commandAgent>

An agent which listens to commands on a JMS destination

<forwardingBridge>

Forwards all messages from the local broker to the remote broker.

<inboundQueueBridge>

Create an Inbound Queue Bridge

<inboundTopicBridge>

Create an Inbound Topic Bridge

<jmsQueueConnector>

A Bridge to other JMS Queue providers

<jmsTopicConnector>

A Bridge to other JMS Topic providers

<ldapNetworkConnector>

class to create dynamic network connectors listed in an directory server using the LDAP v3 protocol as defined in RFC 2251, the entries listed in the directory server must implement the ipHost and ipService objectClasses as defined in RFC 2307.

<managementContext>

A Flow provides different dispatch policies within the NMR

<masterConnector>

Connects a Slave Broker to a Master when using Master Slave for High Availability of messages.

<memoryUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

<multicastNetworkConnector>

A network connector which uses some kind of multicast-like transport that communicates with potentially many remote brokers over a single logical {@link Transport} instance such as when using multicast. This implementation does not depend on multicast at all; any other group based transport could be used.

<networkConnector>

A network connector which uses a discovery agent to detect the remote brokers available and setup a connection to each available remote broker

<outboundQueueBridge>

Create an Outbound Queue Bridge

<outboundTopicBridge>

Create an Outbound Topic Bridge

<proxyConnector>

<storeUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

<systemUsage>

Holder for Usage instances for memory, store and temp files Main use case is manage memory usage.

<tempUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

The org.apache.activemq.network.jms.JmsMesageConvertor Type Implementations

<simpleJmsMessageConvertor>

Converts Message from one JMS to another

The org.apache.activemq.network.jms.OutboundTopicBridge Type Implementations

<outboundTopicBridge>

Create an Outbound Topic Bridge

The org.apache.activemq.broker.region.DestinationInterceptor Type Implementations

<mirroredQueue>

Creates Mirrored Queue using a prefix and postfix to define the topic name on which to mirror the queue to.

<virtualDestinationInterceptor>

Implements Virtual Topics.

The org.apache.activemq.filter.DestinationMap Type Implementations

<authorizationMap>

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies. Each entry in the map represents the authorization ACLs for each operation.

<policyMap>

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies.

The org.apache.activemq.network.NetworkBridgeConfiguration Type Implementations

<ldapNetworkConnector>

class to create dynamic network connectors listed in an directory server using the LDAP v3 protocol as defined in RFC 2251, the entries listed in the directory server must implement the ipHost and ipService objectClasses as defined in RFC 2307.

<multicastNetworkConnector>

A network connector which uses some kind of multicast-like transport that communicates with potentially many remote brokers over a single logical {@link Transport} instance such as when using multicast. This implementation does not depend on multicast at all; any other group based transport could be used.

<networkConnector>

A network connector which uses a discovery agent to detect the remote brokers available and setup a connection to each available remote broker

The <amqPersistenceAdapter> Element

An implementation of {@link PersistenceAdapter} designed for use with a {@link Journal} and then check pointing asynchronously on a timeout with some other long term persistent storage.

Properties

Property Name

Type

Description

archiveDataLogs

boolean

asyncDataManager

org.apache.activemq.kaha.impl.async.AsyncDataManager

brokerName

java.lang.String

brokerService

org.apache.activemq.broker.BrokerService

checkpointInterval

long

cleanupInterval

long

directory

java.io.File

directoryArchive

java.io.File

indexBinSize

int

indexKeySize

int

indexPageSize

int

When set using XBean, you can use values such as: “20 mb”, “1024 kb”, or “1 gb”

maxCheckpointMessageAddSize

int

When set using XBean, you can use values such as: “20 mb”, “1024 kb”, or “1 gb”

maxFileLength

int

When set using XBean, you can use values such as: “20 mb”, “1024 kb”, or “1 gb”

persistentIndex

boolean

referenceStoreAdapter

org.apache.activemq.store.ReferenceStoreAdapter

syncOnWrite

boolean

taskRunnerFactory

org.apache.activemq.thread.TaskRunnerFactory

usageManager

org.apache.activemq.usage.SystemUsage

useNio

boolean

wireFormat

org.apache.activemq.wireformat.WireFormat

The <amqPersistenceAdapterFactory> Element

An implementation of {@link PersistenceAdapterFactory}

Properties

Property Name

Type

Description

brokerName

java.lang.String

dataDirectory

java.io.File

journalThreadPriority

int

maxFileLength

int

persistentIndex

boolean

referenceStoreAdapter

org.apache.activemq.store.ReferenceStoreAdapter

syncOnWrite

boolean

taskRunnerFactory

org.apache.activemq.thread.TaskRunnerFactory

useNio

boolean

The <authenticationUser> Element

A helper object used to configure simple authentiaction plugin

Properties

Property Name

Type

Description

groups

java.lang.String

password

java.lang.String

username

java.lang.String

The <authorizationEntry> Element

Represents an entry in a {@link DefaultAuthorizationMap} for assigning different operations (read, write, admin) of user roles to a specific destination or a hierarchical wildcard area of destinations.

Properties

Property Name

Type

Description

admin

java.lang.String

adminACLs

(java.lang.Object)*

destination

org.apache.activemq.command.ActiveMQDestination

groupClass

java.lang.String

queue

java.lang.String

A helper method to set the destination from a configuration file

read

java.lang.String

readACLs

(java.lang.Object)*

topic

java.lang.String

A helper method to set the destination from a configuration file

write

java.lang.String

writeACLs

(java.lang.Object)*

The <authorizationMap> Element

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies. Each entry in the map represents the authorization ACLs for each operation.

Properties

Property Name

Type

Description

authorizationEntries

(java.lang.Object)*

Sets the individual entries on the authorization map

defaultEntry

org.apache.activemq.security.AuthorizationEntry

entries

(java.lang.Object)*

A helper method to allow the destination map to be populated from a dependency injection framework such as Spring

tempDestinationAuthorizationEntry

org.apache.activemq.security.TempDestinationAuthorizationEntry

The <authorizationPlugin> Element

An authorization plugin where each operation on a destination is checked against an authorizationMap

Properties

Property Name

Type

Description

map

org.apache.activemq.security.AuthorizationMap

The <axionJDBCAdapter> Element

Axion specific Adapter. Axion does not seem to support ALTER statements or sub-selects. This means: - We cannot auto upgrade the schema was we roll out new versions of ActiveMQ Classic - We cannot delete durable sub messages that have be acknowledged by all consumers.

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <blobJDBCAdapter> Element

This JDBCAdapter inserts and extracts BLOB data using the getBlob()/setBlob() operations. This is a little more involved since to insert a blob you have to: 1: insert empty blob. 2: select the blob 3: finally update the blob with data value. The databases/JDBC drivers that use this adapter are:

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <broker> Element

An ActiveMQ Classic Message Broker. It consists of a number of transport connectors, network connectors and a bunch of properties which can be used to configure the broker as its lazily created.

Properties

Property Name

Type

Description

adminView

org.apache.activemq.broker.jmx.BrokerView

Returns the administration view of the broker; used to create and destroy resources such as queues and topics. Note this method returns null if JMX is disabled.

advisorySupport

boolean

Allows the support of advisory messages to be disabled for performance reasons.

brokerName

java.lang.String

Sets the name of this broker; which must be unique in the network

brokerObjectName

javax.management.ObjectName

Sets the JMX ObjectName for this broker

clustered

boolean

consumerSystemUsage

org.apache.activemq.usage.SystemUsage

dataDirectory

java.lang.String

Sets the directory in which the data files will be stored by default for the JDBC and Journal persistence adaptors.

dataDirectoryFile

java.io.File

Sets the directory in which the data files will be stored by default for the JDBC and Journal persistence adaptors.

deleteAllMessagesOnStartup

boolean

Sets whether or not all messages are deleted on startup - mostly only useful for testing.

destinationFactory

org.apache.activemq.broker.region.DestinationFactory

destinationInterceptors

(org.apache.activemq.broker.region.DestinationInterceptor)*

Sets the destination interceptors to use

destinationPolicy

org.apache.activemq.broker.region.policy.PolicyMap

Sets the destination specific policies available either for exact destinations or for wildcard areas of destinations.

destinations

(org.apache.activemq.command.ActiveMQDestination)*

Sets the destinations which should be loaded/created on startup

enableStatistics

boolean

Sets whether or not the Broker’s services enable statistics or not.

jmsBridgeConnectors

(org.apache.activemq.network.jms.JmsConnector)*

keepDurableSubsActive

boolean

managementContext

org.apache.activemq.broker.jmx.ManagementContext

masterConnectorURI

java.lang.String

messageAuthorizationPolicy

org.apache.activemq.security.MessageAuthorizationPolicy

Sets the policy used to decide if the current connection is authorized to consume a given message

networkConnectorURIs

(java.lang.String)*

networkConnectors

(org.apache.activemq.network.NetworkConnector)*

Sets the network connectors which this broker will use to connect to other brokers in a federated network

persistenceAdapter

org.apache.activemq.store.PersistenceAdapter

Sets the persistence adaptor implementation to use for this broker

persistenceFactory

org.apache.activemq.store.PersistenceAdapterFactory

persistenceTaskRunnerFactory

org.apache.activemq.thread.TaskRunnerFactory

persistenceThreadPriority

int

persistent

boolean

Sets whether or not persistence is enabled or disabled.

plugins

(org.apache.activemq.broker.BrokerPlugin)*

Sets a number of broker plugins to install such as for security authentication or authorization

populateJMSXUserID

boolean

Sets whether or not the broker should populate the JMSXUserID header.

producerSystemUsage

org.apache.activemq.usage.SystemUsage

proxyConnectors

(java.lang.Object)*

Sets the network connectors which this broker will use to connect to other brokers in a federated network

services

(org.apache.activemq.Service)*

Sets the services associated with this broker such as a {@link MasterConnector}

shutdownOnMasterFailure

boolean

start

boolean

Sets whether or not the broker is started along with the ApplicationContext it is defined within. Normally you would want the broker to start up along with the ApplicationContext but sometimes when working with JUnit tests you may wish to start and stop the broker explicitly yourself.

supportFailOver

boolean

systemUsage

org.apache.activemq.usage.SystemUsage

taskRunnerFactory

org.apache.activemq.thread.TaskRunnerFactory

tempDataStore

org.apache.activemq.kaha.Store

tmpDataDirectory

java.io.File

transportConnectorURIs

(java.lang.String)*

transportConnectors

(org.apache.activemq.broker.TransportConnector)*

Sets the transport connectors which this broker will listen on for new clients

useJmx

boolean

Sets whether or not the Broker’s services should be exposed into JMX or not.

useLocalHostBrokerName

boolean

useLoggingForShutdownErrors

boolean

Sets whether or not we should use commons-logging when reporting errors when shutting down the broker

useMirroredQueues

boolean

Sets whether or not Mirrored Queues should be supported by default if they have not been explicitly configured.

useShutdownHook

boolean

Sets whether or not we should use a shutdown handler to close down the broker cleanly if the JVM is terminated. It is recommended you leave this enabled.

useVirtualTopics

boolean

Sets whether or not Virtual Topics should be supported by default if they have not been explicitly configured.

vmConnectorURI

java.net.URI

The <bytesJDBCAdapter> Element

This JDBCAdapter inserts and extracts BLOB data using the setBytes()/getBytes() operations. The databases/JDBC drivers that use this adapter are:

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <commandAgent> Element

An agent which listens to commands on a JMS destination

Properties

Property Name

Type

Description

brokerUrl

java.lang.String

commandDestination

javax.jms.Destination

connection

javax.jms.Connection

connectionFactory

javax.jms.ConnectionFactory

The <compositeDemandForwardingBridge> Element

A demand forwarding bridge which works with multicast style transports where a single Transport could be communicating with multiple remote brokers

Properties

Property Name

Type

Description

configuration

org.apache.activemq.network.NetworkBridgeConfiguration

createdByDuplex

boolean

durableDestinations

(org.apache.activemq.command.ActiveMQDestination)*

dynamicallyIncludedDestinations

(org.apache.activemq.command.ActiveMQDestination)*

excludedDestinations

(org.apache.activemq.command.ActiveMQDestination)*

localBroker

org.apache.activemq.transport.Transport

networkBridgeListener

org.apache.activemq.network.NetworkBridgeListener

remoteBroker

org.apache.activemq.transport.Transport

staticallyIncludedDestinations

(org.apache.activemq.command.ActiveMQDestination)*

The <compositeQueue> Element

Represents a virtual queue which forwards to a number of other destinations.

Properties

Property Name

Type

Description

copyMessage

boolean

Sets whether a copy of the message will be sent to each destination. Defaults to true so that the forward destination is set as the destination of the message

forwardOnly

boolean

Sets if the virtual destination is forward only (and so there is no physical queue to match the virtual queue) or if there is also a physical queue with the same name).

forwardTo

(java.lang.Object)*

Sets the list of destinations to forward to

name

java.lang.String

Sets the name of this composite destination

The <compositeTopic> Element

Represents a virtual topic which forwards to a number of other destinations.

Properties

Property Name

Type

Description

copyMessage

boolean

Sets whether a copy of the message will be sent to each destination. Defaults to true so that the forward destination is set as the destination of the message

forwardOnly

boolean

Sets if the virtual destination is forward only (and so there is no physical queue to match the virtual queue) or if there is also a physical queue with the same name).

forwardTo

(java.lang.Object)*

Sets the list of destinations to forward to

name

java.lang.String

Sets the name of this composite destination

The <connectionDotFilePlugin> Element

A DOT file creator plugin which creates a DOT file showing the current connections

Properties

Property Name

Type

Description

file

java.lang.String

Sets the destination file name to create the destination diagram

The <connectionFactory> Element

A Spring enhanced connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

Properties

Property Name

Type

Description

alwaysSessionAsync

boolean

If this flag is set then a separate thread is not used for dispatching messages for each Session in the Connection. However, a separate thread is always used if there is more than one session, or the session isn’t in auto acknowledge or duplicates ok mode

alwaysSyncSend

boolean

Set true if always require messages to be sync sent

beanName

java.lang.String

blobTransferPolicy

org.apache.activemq.blob.BlobTransferPolicy

Sets the policy used to describe how out-of-band BLOBs (Binary Large OBjects) are transferred from producers to brokers to consumers

brokerURL

java.lang.String

Sets the connection URL used to connect to the ActiveMQ Classic broker.

clientID

java.lang.String

Sets the JMS clientID to use for the created connection. Note that this can only be used by one connection at once so generally its a better idea to set the clientID on a Connection

clientIDPrefix

java.lang.String

Sets the prefix used by autogenerated JMS Client ID values which are used if the JMS client does not explicitly specify on.

clientIdGenerator

org.apache.activemq.util.IdGenerator

closeTimeout

int

Sets the timeout before a close is considered complete. Normally a close() on a connection waits for confirmation from the broker; this allows that operation to timeout to save the client hanging if there is no broker

copyMessageOnSend

boolean

Should a JMS message be copied to a new JMS Message object as part of the send() method in JMS. This is enabled by default to be compliant with the JMS specification. You can disable it if you do not mutate JMS messages after they are sent for a performance boost

disableTimeStampsByDefault

boolean

Sets whether or not timestamps on messages should be disabled or not. If you disable them it adds a small performance boost.

dispatchAsync

boolean

Enables or disables the default setting of whether or not consumers have their messages dispatched synchronously or asynchronously by the broker. For non-durable topics for example we typically dispatch synchronously by default to minimize context switches which boost performance. However sometimes its better to go slower to ensure that a single blocked consumer socket does not block delivery to other consumers.

exclusiveConsumer

boolean

Enables or disables whether or not queue consumers should be exclusive or not for example to preserve ordering when not using Message Groups

nestedMapAndListEnabled

boolean

Enables/disables whether or not Message properties and MapMessage entries support Nested Structures of Map and List objects

objectMessageSerializationDefered

boolean

When an object is set on an ObjectMessage, the JMS spec requires the object to be serialized by that set method. Enabling this flag causes the object to not get serialized. The object may subsequently get serialized if the message needs to be sent over a socket or stored to disk.

optimizeAcknowledge

boolean

optimizedMessageDispatch

boolean

If this flag is set then an larger prefetch limit is used - only applicable for durable topic subscribers.

password

java.lang.String

Sets the JMS password used for connections created from this factory

prefetchPolicy

org.apache.activemq.ActiveMQPrefetchPolicy

Sets the prefetch policy for consumers created by this connection.

producerWindowSize

int

properties

java.util.Properties

Get the properties from this instance for storing in JNDI

redeliveryPolicy

org.apache.activemq.RedeliveryPolicy

Sets the global redelivery policy to be used when a message is delivered but the session is rolled back

statsEnabled

boolean

transformer

org.apache.activemq.MessageTransformer

Sets the transformer used to transform messages before they are sent on to the JMS bus or when they are received from the bus but before they are delivered to the JMS client

transportListener

org.apache.activemq.transport.TransportListener

Allows a listener to be configured on the ConnectionFactory so that when this factory is used with frameworks which don’t expose the Connection such as Spring JmsTemplate, you can still register a transport listener.

useAsyncSend

boolean

Forces the use of Async Sends which adds a massive performance boost; but means that the send() method will return immediately whether the message has been sent or not which could lead to message loss.

useBeanNameAsClientIdPrefix

boolean

useCompression

boolean

Enables the use of compression of the message bodies

useRetroactiveConsumer

boolean

Sets whether or not retroactive consumers are enabled. Retroactive consumers allow non-durable topic subscribers to receive old messages that were published before the non-durable subscriber started.

userName

java.lang.String

Sets the JMS userName used by connections created by this factory

warnAboutUnstartedConnectionTimeout

long

Enables the timeout from a connection creation to when a warning is generated if the connection is not properly started via {@link Connection#start()} and a message is received by a consumer. It is a very common gotcha to forget to start the connection so this option makes the default case to create a warning if the user forgets. To disable the warning just set the value to < 0 (say -1).

watchTopicAdvisories

boolean

The <constantPendingMessageLimitStrategy> Element

This PendingMessageLimitStrategy is configured to a constant value for all subscriptions.

Properties

Property Name

Type

Description

limit

int

The <db2JDBCAdapter> Element

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <defaultJDBCAdapter> Element

Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter.

sub-classing is encouraged to override the default implementation of methods to account for differences in JDBC Driver implementations.

The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations.

The databases/JDBC drivers that use this adapter are:

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <defaultUsageCapacity> Element

Identify if a limit has been reached

Properties

Property Name

Type

Description

limit

long

The <demandForwardingBridge> Element

Forwards messages from the local broker to the remote broker based on demand.

Properties

Property Name

Type

Description

configuration

org.apache.activemq.network.NetworkBridgeConfiguration

createdByDuplex

boolean

durableDestinations

(org.apache.activemq.command.ActiveMQDestination)*

dynamicallyIncludedDestinations

(org.apache.activemq.command.ActiveMQDestination)*

excludedDestinations

(org.apache.activemq.command.ActiveMQDestination)*

localBroker

org.apache.activemq.transport.Transport

networkBridgeListener

org.apache.activemq.network.NetworkBridgeListener

remoteBroker

org.apache.activemq.transport.Transport

staticallyIncludedDestinations

(org.apache.activemq.command.ActiveMQDestination)*

The <destinationDotFilePlugin> Element

A DOT file creator plugin which creates a DOT file showing the current topic & queue hierarchies.

Properties

Property Name

Type

Description

file

java.lang.String

Sets the destination file name to create the destination diagram

The <destinationEntry> Element

A default entry in a DestinationMap which holds a single value.

Properties

Property Name

Type

Description

destination

org.apache.activemq.command.ActiveMQDestination

queue

java.lang.String

A helper method to set the destination from a configuration file

topic

java.lang.String

A helper method to set the destination from a configuration file

value

java.lang.Object

The <fileCursor> Element

Pending messages

The <fileDurableSubscriberCursor> Element

Pending messages for durable subscribers

The <fileQueueCursor> Element

Pending

The <filteredDestination> Element

Represents a destination which is filtered using some predicate such as a selector so that messages are only dispatched to the destination if they match the filter.

Properties

Property Name

Type

Description

destination

org.apache.activemq.command.ActiveMQDestination

The destination to send messages to if they match the filter

filter

org.apache.activemq.filter.BooleanExpression

queue

java.lang.String

Sets the destination property to the given queue name

selector

java.lang.String

Sets the JMS selector used to filter messages before forwarding them to this destination

topic

java.lang.String

Sets the destination property to the given topic name

The <fixedCountSubscriptionRecoveryPolicy> Element

This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed count of last messages.

Properties

Property Name

Type

Description

maximumSize

int

Sets the maximum number of messages that this destination will hold around in RAM

The <fixedSizedSubscriptionRecoveryPolicy> Element

This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed amount of memory available in RAM for message history which is evicted in time order.

Properties

Property Name

Type

Description

buffer

org.apache.activemq.memory.list.MessageList

maximumSize

int

Sets the maximum amount of RAM in bytes that this buffer can hold in RAM

useSharedBuffer

boolean

The <forwardingBridge> Element

Forwards all messages from the local broker to the remote broker.

Properties

Property Name

Type

Description

clientId

java.lang.String

destinationFilter

java.lang.String

dispatchAsync

boolean

localBroker

org.apache.activemq.transport.Transport

networkBridgeFailedListener

org.apache.activemq.network.NetworkBridgeListener

prefetchSize

int

remoteBroker

org.apache.activemq.transport.Transport

The <imageBasedJDBCAdaptor> Element

Provides JDBCAdapter since that uses IMAGE datatype to hold binary data. The databases/JDBC drivers that use this adapter are:

  • Sybase
  • MS SQL

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <inboundQueueBridge> Element

Create an Inbound Queue Bridge

Properties

Property Name

Type

Description

consumer

javax.jms.MessageConsumer

consumerConnection

javax.jms.QueueConnection

consumerQueue

javax.jms.Queue

doHandleReplyTo

boolean

inboundQueueName

java.lang.String

jmsConnector

org.apache.activemq.network.jms.JmsConnector

jmsMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

localQueueName

java.lang.String

maximumRetries

int

Sets the maximum number of retries if a send fails before closing the bridge

producerConnection

javax.jms.QueueConnection

producerQueue

javax.jms.Queue

selector

java.lang.String

The <inboundTopicBridge> Element

Create an Inbound Topic Bridge

Properties

Property Name

Type

Description

consumer

javax.jms.MessageConsumer

consumerConnection

javax.jms.TopicConnection

consumerName

java.lang.String

consumerTopic

javax.jms.Topic

doHandleReplyTo

boolean

inboundTopicName

java.lang.String

jmsConnector

org.apache.activemq.network.jms.JmsConnector

jmsMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

localTopicName

java.lang.String

maximumRetries

int

Sets the maximum number of retries if a send fails before closing the bridge

producerConnection

javax.jms.TopicConnection

producerTopic

javax.jms.Topic

selector

java.lang.String

The <individualDeadLetterStrategy> Element

A {@link DeadLetterStrategy} where each destination has its own individual DLQ using the subject naming hierarchy.

Properties

Property Name

Type

Description

processExpired

boolean

processNonPersistent

boolean

queuePrefix

java.lang.String

Sets the prefix to use for all dead letter queues for queue messages

topicPrefix

java.lang.String

Sets the prefix to use for all dead letter queues for topic messages

useQueueForQueueMessages

boolean

Sets whether a queue or topic should be used for queue messages sent to a DLQ. The default is to use a Queue

useQueueForTopicMessages

boolean

Sets whether a queue or topic should be used for topic messages sent to a DLQ. The default is to use a Queue

The <informixJDBCAdapter> Element

JDBC Adapter for Informix database. Because Informix database restricts length of composite primary keys, length of container name field and subscription id field must be reduced to 150 characters. Therefore be sure not to use longer names for container name and subscription id than 150 characters.

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <jaasAuthenticationPlugin> Element

Provides a JAAS based authentication plugin

Properties

Property Name

Type

Description

configuration

java.lang.String

Sets the JAAS configuration domain name used

discoverLoginConfig

boolean

Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. This flag is enabled by default such that if the java.security.auth.login.config system property is not defined then it is set to the location of the login.config file on the classpath.

The <jaasCertificateAuthenticationPlugin> Element

Provides a JAAS based SSL certificate authentication plugin

Properties

Property Name

Type

Description

configuration

java.lang.String

Sets the JAAS configuration domain name used

discoverLoginConfig

boolean

Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. This flag is enabled by default such that if the java.security.auth.login.config system property is not defined then it is set to the location of the login.config file on the classpath.

The <jdbcPersistenceAdapter> Element

A {@link PersistenceAdapter} implementation using JDBC for persistence storage. This persistence adapter will correctly remember prepared XA transactions, but it will not keep track of local transaction commits so that operations performed against the Message store are done as a single uow.

Properties

Property Name

Type

Description

adapter

org.apache.activemq.store.jdbc.JDBCAdapter

brokerName

java.lang.String

brokerService

org.apache.activemq.broker.BrokerService

cleanupPeriod

int

Sets the number of milliseconds until the database is attempted to be cleaned up for durable topics

createTablesOnStartup

boolean

Sets whether or not tables are created on startup

dataDirectory

java.lang.String

dataDirectoryFile

java.io.File

dataSource

javax.sql.DataSource

databaseLocker

org.apache.activemq.store.jdbc.DatabaseLocker

Sets the database locker strategy to use to lock the database on startup

directory

java.io.File

ds

javax.sql.DataSource

scheduledThreadPoolExecutor

java.util.concurrent.ScheduledThreadPoolExecutor

statements

org.apache.activemq.store.jdbc.Statements

usageManager

org.apache.activemq.usage.SystemUsage

useDatabaseLock

boolean

Sets whether or not an exclusive database lock should be used to enable JDBC Master/Slave. Enabled by default.

useExternalMessageReferences

boolean

wireFormat

org.apache.activemq.wireformat.WireFormat

The <jmsQueueConnector> Element

A Bridge to other JMS Queue providers

Properties

Property Name

Type

Description

brokerService

org.apache.activemq.broker.BrokerService

One way to configure the local connection - this is called by The BrokerService when the Connector is embedded

inboundMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

inboundQueueBridges

(org.apache.activemq.network.jms.InboundQueueBridge)*

jndiLocalTemplate

org.springframework.jndi.JndiTemplate

jndiOutboundTemplate

org.springframework.jndi.JndiTemplate

localConnectionFactoryName

java.lang.String

localPassword

java.lang.String

localQueueConnection

javax.jms.QueueConnection

localQueueConnectionFactory

javax.jms.QueueConnectionFactory

localUsername

java.lang.String

name

java.lang.String

outboundMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

outboundPassword

java.lang.String

outboundQueueBridges

(org.apache.activemq.network.jms.OutboundQueueBridge)*

outboundQueueConnection

javax.jms.QueueConnection

outboundQueueConnectionFactory

javax.jms.QueueConnectionFactory

outboundQueueConnectionFactoryName

java.lang.String

outboundUsername

java.lang.String

replyToDestinationCacheSize

int

The <jmsTopicConnector> Element

A Bridge to other JMS Topic providers

Properties

Property Name

Type

Description

brokerService

org.apache.activemq.broker.BrokerService

One way to configure the local connection - this is called by The BrokerService when the Connector is embedded

inboundMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

inboundTopicBridges

(org.apache.activemq.network.jms.InboundTopicBridge)*

jndiLocalTemplate

org.springframework.jndi.JndiTemplate

jndiOutboundTemplate

org.springframework.jndi.JndiTemplate

localConnectionFactoryName

java.lang.String

localPassword

java.lang.String

localTopicConnection

javax.jms.TopicConnection

localTopicConnectionFactory

javax.jms.TopicConnectionFactory

localUsername

java.lang.String

name

java.lang.String

outboundMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

outboundPassword

java.lang.String

outboundTopicBridges

(org.apache.activemq.network.jms.OutboundTopicBridge)*

outboundTopicConnection

javax.jms.TopicConnection

outboundTopicConnectionFactory

javax.jms.TopicConnectionFactory

outboundTopicConnectionFactoryName

java.lang.String

outboundUsername

java.lang.String

replyToDestinationCacheSize

int

The <journalPersistenceAdapter> Element

An implementation of {@link PersistenceAdapter} designed for use with a {@link Journal} and then check pointing asynchronously on a timeout with some other long term persistent storage.

Properties

Property Name

Type

Description

brokerName

java.lang.String

directory

java.io.File

journal

org.apache.activeio.journal.Journal

longTermPersistence

org.apache.activemq.store.PersistenceAdapter

maxCheckpointMessageAddSize

int

maxCheckpointWorkers

int

taskRunnerFactory

org.apache.activemq.thread.TaskRunnerFactory

usageManager

org.apache.activemq.usage.SystemUsage

useExternalMessageReferences

boolean

The <journaledJDBC> Element

Creates a default persistence model using the Journal and JDBC

Properties

Property Name

Type

Description

adapter

org.apache.activemq.store.jdbc.JDBCAdapter

createTablesOnStartup

boolean

Sets whether or not tables are created on startup

dataDirectory

java.lang.String

dataDirectoryFile

java.io.File

dataSource

javax.sql.DataSource

jdbcAdapter

org.apache.activemq.store.jdbc.JDBCPersistenceAdapter

journal

org.apache.activeio.journal.Journal

journalArchiveDirectory

java.io.File

journalLogFileSize

int

Sets the size of the journal log files

journalLogFiles

int

Sets the number of journal log files to use

journalThreadPriority

int

Sets the thread priority of the journal thread

statements

org.apache.activemq.store.jdbc.Statements

taskRunnerFactory

org.apache.activemq.thread.TaskRunnerFactory

useDatabaseLock

boolean

Sets whether or not an exclusive database lock should be used to enable JDBC Master/Slave. Enabled by default.

useJournal

boolean

Enables or disables the use of the journal. The default is to use the journal

useQuickJournal

boolean

Enables or disables the use of quick journal, which keeps messages in the journal and just stores a reference to the messages in JDBC. Defaults to false so that messages actually reside long term in the JDBC database.

The <kahaPersistenceAdapter> Element

Properties

Property Name

Type

Description

brokerName

java.lang.String

directory

java.io.File

maxDataFileLength

long

persistentIndex

boolean

size

java.util.concurrent.atomic.AtomicLong

usageManager

org.apache.activemq.usage.SystemUsage

The <lDAPAuthorizationMap> Element

An {@link AuthorizationMap} which uses LDAP

Properties

Property Name

Type

Description

adminAttribute

java.lang.String

adminBase

java.lang.String

authentication

java.lang.String

connectionPassword

java.lang.String

connectionProtocol

java.lang.String

connectionURL

java.lang.String

connectionUsername

java.lang.String

context

javax.naming.directory.DirContext

initialContextFactory

java.lang.String

options

java.util.Map

queueSearchMatchingFormat

java.text.MessageFormat

queueSearchSubtreeBool

boolean

readAttribute

java.lang.String

readBase

java.lang.String

topicSearchMatchingFormat

java.text.MessageFormat

topicSearchSubtreeBool

boolean

writeAttribute

java.lang.String

writeBase

java.lang.String

The <lastImageSubscriptionRecoveryPolicy> Element

This implementation of {@link SubscriptionRecoveryPolicy} will only keep the last message.

The <ldapNetworkConnector> Element

class to create dynamic network connectors listed in an directory server using the LDAP v3 protocol as defined in RFC 2251, the entries listed in the directory server must implement the ipHost and ipService objectClasses as defined in RFC 2307.

Properties

Property Name

Type

Description

base

java.lang.String

sets the base LDAP dn used for lookup operations

bridgeTempDestinations

boolean

brokerName

java.lang.String

brokerService

org.apache.activemq.broker.BrokerService

conduitSubscriptions

boolean

connectionFilter

org.apache.activemq.network.ConnectionFilter

decreaseNetworkConsumerPriority

boolean

destinationFilter

java.lang.String

dispatchAsync

boolean

duplex

boolean

durableDestinations

(java.lang.Object)*

dynamicOnly

boolean

dynamicallyIncludedDestinations

(java.lang.Object)*

excludedDestinations

(java.lang.Object)*

localUri

java.net.URI

name

java.lang.String

networkTTL

int

objectName

javax.management.ObjectName

password

java.lang.String

sets the LDAP password for access credentials

prefetchSize

int

searchFilter

java.lang.String

sets the LDAP search filter as defined in RFC 2254

searchScope

java.lang.String

sets the LDAP search scope

staticallyIncludedDestinations

(java.lang.Object)*

uri

java.net.URI

sets the LDAP server URI

user

java.lang.String

sets the LDAP user for access credentials

userName

java.lang.String

The <loggingBrokerPlugin> Element

A simple Broker interceptor which allows you to enable/disable logging.

Properties

Property Name

Type

Description

ackLog

org.apache.commons.logging.Log

adminConnectionContext

org.apache.activemq.broker.ConnectionContext

log

org.apache.commons.logging.Log

next

org.apache.activemq.broker.Broker

sendLog

org.apache.commons.logging.Log

The <managementContext> Element

A Flow provides different dispatch policies within the NMR

Properties

Property Name

Type

Description

MBeanServer

javax.management.MBeanServer

Get the MBeanServer

connectorPath

java.lang.String

connectorPort

int

createConnector

boolean

createMBeanServer

boolean

findTigerMbeanServer

boolean

Enables/disables the searching for the Java 5 platform MBeanServer

jmxDomainName

java.lang.String

rmiServerPort

int

server

javax.management.MBeanServer

useMBeanServer

boolean

The <masterConnector> Element

Connects a Slave Broker to a Master when using Master Slave for High Availability of messages.

Properties

Property Name

Type

Description

brokerService

org.apache.activemq.broker.BrokerService

localURI

java.net.URI

password

java.lang.String

remoteURI

java.net.URI

remoteUri

java.lang.String

userName

java.lang.String

The <memoryPersistenceAdapter> Element

Properties

Property Name

Type

Description

brokerName

java.lang.String

directory

java.io.File

usageManager

org.apache.activemq.usage.SystemUsage

useExternalMessageReferences

boolean

The <memoryUsage> Element

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

Properties

Property Name

Type

Description

limit

long

Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager is not going to be portion based off the parent. When set using XBean, you can use values such as: “20 mb”, “1024 kb”, or “1 gb”

limiter

org.apache.activemq.usage.UsageCapacity

name

java.lang.String

parent

T

percentUsage

int

percentUsageMinDelta

int

Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the manager.

pollingTime

int

portion

float

usage

long

usagePortion

float

The <messageGroupHashBucketFactory> Element

A factory to create instances of {@link SimpleMessageGroupMap} when implementing the Message Groups functionality.

Properties

Property Name

Type

Description

bucketCount

int

Sets the number of hash buckets to use for the message group functionality. This is only applicable to using message groups to parallelize processing of a queue while preserving order across an individual JMSXGroupID header value. This value sets the number of hash buckets that will be used (i.e. the maximum possible concurrency).

The <mirroredQueue> Element

Creates Mirrored Queue using a prefix and postfix to define the topic name on which to mirror the queue to.

Properties

Property Name

Type

Description

brokerService

org.apache.activemq.broker.BrokerService

copyMessage

boolean

Sets whether a copy of the message will be sent to each destination. Defaults to true so that the forward destination is set as the destination of the message

postfix

java.lang.String

Sets any postix used to identify the queue consumers

prefix

java.lang.String

Sets the prefix wildcard used to identify the queue consumers for a given topic

The <multicastNetworkConnector> Element

A network connector which uses some kind of multicast-like transport that communicates with potentially many remote brokers over a single logical {@link Transport} instance such as when using multicast. This implementation does not depend on multicast at all; any other group based transport could be used.

Properties

Property Name

Type

Description

bridge

org.apache.activemq.network.DemandForwardingBridgeSupport

bridgeTempDestinations

boolean

brokerName

java.lang.String

brokerService

org.apache.activemq.broker.BrokerService

conduitSubscriptions

boolean

connectionFilter

org.apache.activemq.network.ConnectionFilter

decreaseNetworkConsumerPriority

boolean

destinationFilter

java.lang.String

dispatchAsync

boolean

duplex

boolean

durableDestinations

(java.lang.Object)*

dynamicOnly

boolean

dynamicallyIncludedDestinations

(java.lang.Object)*

excludedDestinations

(java.lang.Object)*

localTransport

org.apache.activemq.transport.Transport

localUri

java.net.URI

name

java.lang.String

networkTTL

int

objectName

javax.management.ObjectName

password

java.lang.String

prefetchSize

int

remoteTransport

org.apache.activemq.transport.Transport

Sets the remote transport implementation

remoteURI

java.net.URI

Sets the remote transport URI to some group transport like multicast://address:port

staticallyIncludedDestinations

(java.lang.Object)*

userName

java.lang.String

The <multicastTraceBrokerPlugin> Element

A Broker interceptor which allows you to trace all operations to a Multicast socket.

Properties

Property Name

Type

Description

address

java.net.SocketAddress

adminConnectionContext

org.apache.activemq.broker.ConnectionContext

broadcast

boolean

destination

java.net.URI

maxTraceDatagramSize

int

next

org.apache.activemq.broker.Broker

timeToLive

int

wireFormat

org.apache.activemq.wireformat.WireFormat

wireFormatFactory

org.apache.activemq.wireformat.WireFormatFactory

The <networkConnector> Element

A network connector which uses a discovery agent to detect the remote brokers available and setup a connection to each available remote broker

Properties

Property Name

Type

Description

bridgeTempDestinations

boolean

brokerName

java.lang.String

brokerService

org.apache.activemq.broker.BrokerService

conduitSubscriptions

boolean

connectionFilter

org.apache.activemq.network.ConnectionFilter

decreaseNetworkConsumerPriority

boolean

destinationFilter

java.lang.String

discoveryAgent

org.apache.activemq.transport.discovery.DiscoveryAgent

discoveryURI

java.net.URI

dispatchAsync

boolean

duplex

boolean

durableDestinations

(java.lang.Object)*

dynamicOnly

boolean

dynamicallyIncludedDestinations

(java.lang.Object)*

excludedDestinations

(java.lang.Object)*

localUri

java.net.URI

name

java.lang.String

networkTTL

int

objectName

javax.management.ObjectName

password

java.lang.String

prefetchSize

int

staticallyIncludedDestinations

(java.lang.Object)*

uri

java.net.URI

userName

java.lang.String

The <noSubscriptionRecoveryPolicy> Element

This SubscriptionRecoveryPolicy disable recovery of messages.

The <oldestMessageEvictionStrategy> Element

An eviction strategy which evicts the oldest message first (which is the default).

Properties

Property Name

Type

Description

evictExpiredMessagesHighWatermark

int

Sets the high water mark on which we will eagerly evict expired messages from RAM

The <oldestMessageWithLowestPriorityEvictionStrategy> Element

An eviction strategy which evicts the oldest message with the lowest priority first.

Properties

Property Name

Type

Description

evictExpiredMessagesHighWatermark

int

Sets the high water mark on which we will eagerly evict expired messages from RAM

The <oracleJDBCAdapter> Element

Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter.

Subclassing is encouraged to override the default implementation of methods to account for differences in JDBC Driver implementations.

The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations.

The databases/JDBC drivers that use this adapter are:

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <outboundQueueBridge> Element

Create an Outbound Queue Bridge

Properties

Property Name

Type

Description

consumer

javax.jms.MessageConsumer

consumerConnection

javax.jms.QueueConnection

consumerQueue

javax.jms.Queue

doHandleReplyTo

boolean

jmsConnector

org.apache.activemq.network.jms.JmsConnector

jmsMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

localQueueName

java.lang.String

maximumRetries

int

Sets the maximum number of retries if a send fails before closing the bridge

outboundQueueName

java.lang.String

producerConnection

javax.jms.QueueConnection

producerQueue

javax.jms.Queue

selector

java.lang.String

The <outboundTopicBridge> Element

Create an Outbound Topic Bridge

Properties

Property Name

Type

Description

consumer

javax.jms.MessageConsumer

consumerConnection

javax.jms.TopicConnection

consumerName

java.lang.String

consumerTopic

javax.jms.Topic

doHandleReplyTo

boolean

jmsConnector

org.apache.activemq.network.jms.JmsConnector

jmsMessageConvertor

org.apache.activemq.network.jms.JmsMesageConvertor

localTopicName

java.lang.String

maximumRetries

int

Sets the maximum number of retries if a send fails before closing the bridge

outboundTopicName

java.lang.String

producerConnection

javax.jms.TopicConnection

producerTopic

javax.jms.Topic

selector

java.lang.String

The <policyEntry> Element

Represents an entry in a {@link PolicyMap} for assigning policies to a specific destination or a hierarchical wildcard area of destinations.

Properties

Property Name

Type

Description

deadLetterStrategy

org.apache.activemq.broker.region.policy.DeadLetterStrategy

Sets the policy used to determine which dead letter queue destination should be used

destination

org.apache.activemq.command.ActiveMQDestination

dispatchPolicy

org.apache.activemq.broker.region.policy.DispatchPolicy

enableAudit

boolean

maxAuditDepth

int

maxProducersToAudit

int

maxQueueAuditDepth

int

memoryLimit

long

messageEvictionStrategy

org.apache.activemq.broker.region.policy.MessageEvictionStrategy

Sets the eviction strategy used to decide which message to evict when the slow consumer needs to discard messages

messageGroupMapFactory

org.apache.activemq.broker.region.group.MessageGroupMapFactory

Sets the factory used to create new instances of {MessageGroupMap} used to implement the Message Groups functionality.

optimizedDispatch

boolean

pendingDurableSubscriberPolicy

org.apache.activemq.broker.region.policy.PendingDurableSubscriberMessageStoragePolicy

pendingMessageLimitStrategy

org.apache.activemq.broker.region.policy.PendingMessageLimitStrategy

Sets the strategy to calculate the maximum number of messages that are allowed to be pending on consumers (in addition to their prefetch sizes). Once the limit is reached, non-durable topics can then start discarding old messages. This allows us to keep dispatching messages to slow consumers while not blocking fast consumers and discarding the messages oldest first.

pendingQueuePolicy

org.apache.activemq.broker.region.policy.PendingQueueMessageStoragePolicy

pendingSubscriberPolicy

org.apache.activemq.broker.region.policy.PendingSubscriberMessageStoragePolicy

producerFlowControl

boolean

queue

java.lang.String

A helper method to set the destination from a configuration file

sendAdvisoryIfNoConsumers

boolean

Sends an advisory message if a non-persistent message is sent and there are no active consumers

subscriptionRecoveryPolicy

org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy

topic

java.lang.String

A helper method to set the destination from a configuration file

The <policyMap> Element

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies.

Properties

Property Name

Type

Description

defaultEntry

org.apache.activemq.broker.region.policy.PolicyEntry

entries

(java.lang.Object)*

A helper method to allow the destination map to be populated from a dependency injection framework such as Spring

policyEntries

(java.lang.Object)*

Sets the individual entries on the policy map

The <prefetchPolicy> Element

Defines the prefetch message policies for different types of consumers

Properties

Property Name

Type

Description

all

int

durableTopicPrefetch

int

inputStreamPrefetch

int

maximumPendingMessageLimit

int

Sets how many messages a broker will keep around, above the prefetch limit, for non-durable topics before starting to discard older messages.

optimizeDurableTopicPrefetch

int

queueBrowserPrefetch

int

queuePrefetch

int

topicPrefetch

int

The <prefetchRatePendingMessageLimitStrategy> Element

This PendingMessageLimitStrategy sets the maximum pending message limit value to be a multiplier of the prefetch limit of the subscription.

Properties

Property Name

Type

Description

multiplier

double

Sets the multiplier of the prefetch size which will be used to define the maximum number of pending messages for non-durable topics before messages are discarded.

The <proxyConnector> Element

Properties

Property Name

Type

Description

bind

java.net.URI

localUri

java.net.URI

name

java.lang.String

remote

java.net.URI

server

org.apache.activemq.transport.TransportServer

The <queryBasedSubscriptionRecoveryPolicy> Element

This implementation of {@link SubscriptionRecoveryPolicy} will perform a user specific query mechanism to load any messages they may have missed.

Properties

Property Name

Type

Description

query

org.apache.activemq.broker.region.policy.MessageQuery

Sets the query strategy to load initial messages

The <queue> Element

An ActiveMQ Classic Queue

Properties

Property Name

Type

Description

compositeDestinations

(org.apache.activemq.command.ActiveMQDestination)*

name

java.lang.String

physicalName

java.lang.String

properties

java.util.Properties

Get the properties from this instance for storing in JNDI

The <redeliveryPolicy> Element

Configuration options used to control how messages are re-delivered when they are rolled back.

Properties

Property Name

Type

Description

backOffMultiplier

short

collisionAvoidancePercent

short

initialRedeliveryDelay

long

maximumRedeliveries

int

useCollisionAvoidance

boolean

useExponentialBackOff

boolean

The <roundRobinDispatchPolicy> Element

Simple dispatch policy that sends a message to every subscription that matches the message.

The <sharedDeadLetterStrategy> Element

A default implementation of {@link DeadLetterStrategy} which uses a constant destination.

Properties

Property Name

Type

Description

deadLetterQueue

org.apache.activemq.command.ActiveMQDestination

processExpired

boolean

processNonPersistent

boolean

The <simpleAuthenticationPlugin> Element

Provides a simple authentication plugin

Properties

Property Name

Type

Description

userGroups

java.util.Map

Sets the groups a user is in. The key is the user name and the value is a Set of groups

userPasswords

java.util.Map

Sets the map indexed by user name with the value the password

users

(java.lang.Object)*

Sets individual users for authentication

The <simpleAuthorizationMap> Element

An AuthorizationMap which is configured with individual DestinationMaps for each operation.

Properties

Property Name

Type

Description

adminACLs

org.apache.activemq.filter.DestinationMap

readACLs

org.apache.activemq.filter.DestinationMap

tempDestinationAuthorizationEntry

org.apache.activemq.security.TempDestinationAuthorizationEntry

writeACLs

org.apache.activemq.filter.DestinationMap

The <simpleDispatchPolicy> Element

Simple dispatch policy that sends a message to every subscription that matches the message.

The <simpleJmsMessageConvertor> Element

Converts Message from one JMS to another

Properties

Property Name

Type

Description

connection

javax.jms.Connection

The <simpleMessageGroupMapFactory> Element

A factory to create instances of {@link SimpleMessageGroupMap} when implementing the Message Groups functionality.

The <statements> Element

Properties

Property Name

Type

Description

addMessageStatement

java.lang.String

binaryDataType

java.lang.String

containerNameDataType

java.lang.String

createDurableSubStatement

java.lang.String

createSchemaStatements

(java.lang.String)*

deleteOldMessagesStatement

java.lang.String

deleteSubscriptionStatement

java.lang.String

destinationMessageCountStatement

java.lang.String

dropSchemaStatements

(java.lang.String)*

durableSubAcksTableName

java.lang.String

durableSubscriberMessageCountStatement

java.lang.String

findAllDestinationsStatement

java.lang.String

findAllDurableSubMessagesStatement

java.lang.String

findAllDurableSubsStatement

java.lang.String

findAllMessagesStatement

java.lang.String

findDurableSubMessagesStatement

java.lang.String

findDurableSubStatement

java.lang.String

findLastSequenceIdInAcksStatement

java.lang.String

findLastSequenceIdInMsgsStatement

java.lang.String

findMessageSequenceIdStatement

java.lang.String

findMessageStatement

java.lang.String

findNextMessagesStatement

java.lang.String

lastAckedDurableSubscriberMessageStatement

java.lang.String

lockCreateStatement

java.lang.String

lockTableName

java.lang.String

lockUpdateStatement

java.lang.String

longDataType

java.lang.String

messageTableName

java.lang.String

msgIdDataType

java.lang.String

nextDurableSubscriberMessageStatement

java.lang.String

removeAllMessagesStatement

java.lang.String

removeAllSubscriptionsStatement

java.lang.String

removeMessageStatment

java.lang.String

sequenceDataType

java.lang.String

stringIdDataType

java.lang.String

tablePrefix

java.lang.String

updateLastAckOfDurableSubStatement

java.lang.String

updateMessageStatement

java.lang.String

useExternalMessageReferences

boolean

useLockCreateWhereClause

boolean

The <storeCursor> Element

Pending messages

The <storeDurableSubscriberCursor> Element

Pending messages for a durable

The <storeUsage> Element

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

Properties

Property Name

Type

Description

limit

long

Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager is not going to be portion based off the parent. When set using XBean, you can use values such as: “20 mb”, “1024 kb”, or “1 gb”

limiter

org.apache.activemq.usage.UsageCapacity

name

java.lang.String

parent

T

percentUsage

int

percentUsageMinDelta

int

Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the manager.

pollingTime

int

store

org.apache.activemq.store.PersistenceAdapter

usagePortion

float

The <streamJDBCAdapter> Element

This JDBCAdapter inserts and extracts BLOB data using the setBinaryStream()/getBinaryStream() operations. The databases/JDBC drivers that use this adapter are:

  • Axion

Properties

Property Name

Type

Description

batchStatments

boolean

statements

org.apache.activemq.store.jdbc.Statements

useExternalMessageReferences

boolean

The <strictOrderDispatchPolicy> Element

Dispatch policy that causes every subscription to see messages in the same order.

The <systemUsage> Element

Holder for Usage instances for memory, store and temp files Main use case is manage memory usage.

Properties

Property Name

Type

Description

adapter

org.apache.activemq.store.PersistenceAdapter

memoryUsage

org.apache.activemq.usage.MemoryUsage

name

java.lang.String

parent

org.apache.activemq.usage.SystemUsage

sendFailIfNoSpace

boolean

Sets whether or not a send() should fail if there is no space free. The default value is false which means to block the send() method until space becomes available

sendFailIfNoSpaceExplicitySet

boolean

storeUsage

org.apache.activemq.usage.StoreUsage

tempStore

org.apache.activemq.kaha.Store

tempUsage

org.apache.activemq.usage.TempUsage

The <tempDestinationAuthorizationEntry> Element

Represents an entry in a {@link DefaultAuthorizationMap} for assigning different operations (read, write, admin) of user roles to a temporary destination

Properties

Property Name

Type

Description

admin

java.lang.String

adminACLs

(java.lang.Object)*

destination

org.apache.activemq.command.ActiveMQDestination

groupClass

java.lang.String

queue

java.lang.String

A helper method to set the destination from a configuration file

read

java.lang.String

readACLs

(java.lang.Object)*

topic

java.lang.String

A helper method to set the destination from a configuration file

write

java.lang.String

writeACLs

(java.lang.Object)*

The <tempUsage> Element

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

Properties

Property Name

Type

Description

limit

long

Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager is not going to be portion based off the parent. When set using XBean, you can use values such as: “20 mb”, “1024 kb”, or “1 gb”

limiter

org.apache.activemq.usage.UsageCapacity

name

java.lang.String

parent

T

percentUsage

int

percentUsageMinDelta

int

Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the manager.

pollingTime

int

store

org.apache.activemq.kaha.Store

usagePortion

float

The <timeStampingBrokerPlugin> Element

A Broker interceptor which updates a JMS Client’s timestamp on the message with a broker timestamp. Useful when the clocks on client machines are known to not be correct and you can only trust the time set on the broker machines. Enabling this plugin will break JMS compliance since the timestamp that the producer sees on the messages after as send() will be different from the timestamp the consumer will observe when he receives the message. This plugin is not enabled in the default ActiveMQ Classic configuration.

Properties

Property Name

Type

Description

adminConnectionContext

org.apache.activemq.broker.ConnectionContext

next

org.apache.activemq.broker.Broker

The <timedSubscriptionRecoveryPolicy> Element

This implementation of {@link SubscriptionRecoveryPolicy} will keep a timed buffer of messages around in memory and use that to recover new subscriptions.

Properties

Property Name

Type

Description

recoverDuration

long

The <topic> Element

An ActiveMQ Classic Topic

Properties

Property Name

Type

Description

compositeDestinations

(org.apache.activemq.command.ActiveMQDestination)*

name

java.lang.String

physicalName

java.lang.String

properties

java.util.Properties

Get the properties from this instance for storing in JNDI

The <transportConnector> Element

Properties

Property Name

Type

Description

broker

org.apache.activemq.broker.Broker

brokerInfo

org.apache.activemq.command.BrokerInfo

brokerName

java.lang.String

connectUri

java.net.URI

disableAsyncDispatch

boolean

discoveryAgent

org.apache.activemq.transport.discovery.DiscoveryAgent

discoveryUri

java.net.URI

enableStatusMonitor

boolean

messageAuthorizationPolicy

org.apache.activemq.security.MessageAuthorizationPolicy

Sets the policy used to decide if the current connection is authorized to consume a given message

name

java.lang.String

server

org.apache.activemq.transport.TransportServer

taskRunnerFactory

org.apache.activemq.thread.TaskRunnerFactory

uri

java.net.URI

Sets the server transport URI to use if there is not a {@link TransportServer} configured via the {@link #setServer(TransportServer)} method. This value is used to lazy create a {@link TransportServer} instance

The <udpTraceBrokerPlugin> Element

A Broker interceptor which allows you to trace all operations to a UDP socket.

Properties

Property Name

Type

Description

address

java.net.SocketAddress

adminConnectionContext

org.apache.activemq.broker.ConnectionContext

broadcast

boolean

destination

java.net.URI

maxTraceDatagramSize

int

next

org.apache.activemq.broker.Broker

wireFormat

org.apache.activemq.wireformat.WireFormat

wireFormatFactory

org.apache.activemq.wireformat.WireFormatFactory

The <usageCapacity> Element

Identify if a limit has been reached

Properties

Property Name

Type

Description

limit

long

The <virtualDestinationInterceptor> Element

Implements Virtual Topics.

Properties

Property Name

Type

Description

virtualDestinations

(org.apache.activemq.broker.region.virtual.VirtualDestination)*

The <virtualTopic> Element

Creates Virtual Topics using a prefix and postfix. The virtual destination creates a wildcard that is then used to look up all active queue subscriptions which match.

Properties

Property Name

Type

Description

name

java.lang.String

postfix

java.lang.String

Sets any postix used to identify the queue consumers

prefix

java.lang.String

Sets the prefix wildcard used to identify the queue consumers for a given topic

The <vmCursor> Element

Pending messages held

The <vmDurableCursor> Element

Pending

The <vmQueueCursor> Element

Pending messages

The <xaConnectionFactory> Element

A Spring enhanced XA connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

Properties

Property Name

Type

Description

alwaysSessionAsync

boolean

If this flag is set then a separate thread is not used for dispatching messages for each Session in the Connection. However, a separate thread is always used if there is more than one session, or the session isn’t in auto acknowledge or duplicates ok mode

alwaysSyncSend

boolean

Set true if always require messages to be sync sent

beanName

java.lang.String

blobTransferPolicy

org.apache.activemq.blob.BlobTransferPolicy

Sets the policy used to describe how out-of-band BLOBs (Binary Large OBjects) are transferred from producers to brokers to consumers

brokerURL

java.lang.String

Sets the connection URL used to connect to the ActiveMQ Classic broker.

clientID

java.lang.String

Sets the JMS clientID to use for the created connection. Note that this can only be used by one connection at once so generally its a better idea to set the clientID on a Connection

clientIDPrefix

java.lang.String

Sets the prefix used by autogenerated JMS Client ID values which are used if the JMS client does not explicitly specify on.

clientIdGenerator

org.apache.activemq.util.IdGenerator

closeTimeout

int

Sets the timeout before a close is considered complete. Normally a close() on a connection waits for confirmation from the broker; this allows that operation to timeout to save the client hanging if there is no broker

copyMessageOnSend

boolean

Should a JMS message be copied to a new JMS Message object as part of the send() method in JMS. This is enabled by default to be compliant with the JMS specification. You can disable it if you do not mutate JMS messages after they are sent for a performance boost

disableTimeStampsByDefault

boolean

Sets whether or not timestamps on messages should be disabled or not. If you disable them it adds a small performance boost.

dispatchAsync

boolean

Enables or disables the default setting of whether or not consumers have their messages dispatched synchronously or asynchronously by the broker. For non-durable topics for example we typically dispatch synchronously by default to minimize context switches which boost performance. However sometimes its better to go slower to ensure that a single blocked consumer socket does not block delivery to other consumers.

exclusiveConsumer

boolean

Enables or disables whether or not queue consumers should be exclusive or not for example to preserve ordering when not using Message Groups

nestedMapAndListEnabled

boolean

Enables/disables whether or not Message properties and MapMessage entries support Nested Structures of Map and List objects

objectMessageSerializationDefered

boolean

When an object is set on an ObjectMessage, the JMS spec requires the object to be serialized by that set method. Enabling this flag causes the object to not get serialized. The object may subsequently get serialized if the message needs to be sent over a socket or stored to disk.

optimizeAcknowledge

boolean

optimizedMessageDispatch

boolean

If this flag is set then an larger prefetch limit is used - only applicable for durable topic subscribers.

password

java.lang.String

Sets the JMS password used for connections created from this factory

prefetchPolicy

org.apache.activemq.ActiveMQPrefetchPolicy

Sets the prefetch policy for consumers created by this connection.

producerWindowSize

int

properties

java.util.Properties

Get the properties from this instance for storing in JNDI

redeliveryPolicy

org.apache.activemq.RedeliveryPolicy

Sets the global redelivery policy to be used when a message is delivered but the session is rolled back

statsEnabled

boolean

transformer

org.apache.activemq.MessageTransformer

Sets the transformer used to transform messages before they are sent on to the JMS bus or when they are received from the bus but before they are delivered to the JMS client

transportListener

org.apache.activemq.transport.TransportListener

Allows a listener to be configured on the ConnectionFactory so that when this factory is used with frameworks which don’t expose the Connection such as Spring JmsTemplate, you can still register a transport listener.

useAsyncSend

boolean

Forces the use of Async Sends which adds a massive performance boost; but means that the send() method will return immediately whether the message has been sent or not which could lead to message loss.

useBeanNameAsClientIdPrefix

boolean

useCompression

boolean

Enables the use of compression of the message bodies

useRetroactiveConsumer

boolean

Sets whether or not retroactive consumers are enabled. Retroactive consumers allow non-durable topic subscribers to receive old messages that were published before the non-durable subscriber started.

userName

java.lang.String

Sets the JMS userName used by connections created by this factory

warnAboutUnstartedConnectionTimeout

long

Enables the timeout from a connection creation to when a warning is generated if the connection is not properly started via {@link Connection#start()} and a message is received by a consumer. It is a very common gotcha to forget to start the connection so this option makes the default case to create a warning if the user forgets. To disable the warning just set the value to < 0 (say -1).

watchTopicAdvisories

boolean

Element Index

<amqPersistenceAdapter>

An implementation of {@link PersistenceAdapter} designed for use with a {@link Journal} and then check pointing asynchronously on a timeout with some other long term persistent storage.

<amqPersistenceAdapterFactory>

An implementation of {@link PersistenceAdapterFactory}

<authenticationUser>

A helper object used to configure simple authentiaction plugin

<authorizationEntry>

Represents an entry in a {@link DefaultAuthorizationMap} for assigning different operations (read, write, admin) of user roles to a specific destination or a hierarchical wildcard area of destinations.

<authorizationMap>

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies. Each entry in the map represents the authorization ACLs for each operation.

<authorizationPlugin>

An authorization plugin where each operation on a destination is checked against an authorizationMap

<axionJDBCAdapter>

Axion specific Adapter. Axion does not seem to support ALTER statements or sub-selects. This means: - We cannot auto upgrade the schema was we roll out new versions of ActiveMQ Classic - We cannot delete durable sub messages that have be acknowledged by all consumers.

<blobJDBCAdapter>

This JDBCAdapter inserts and extracts BLOB data using the getBlob()/setBlob() operations. This is a little more involved since to insert a blob you have to: 1: insert empty blob. 2: select the blob 3: finally update the blob with data value. The databases/JDBC drivers that use this adapter are:

<broker>

An ActiveMQ Classic Message Broker. It consists of a number of transport connectors, network connectors and a bunch of properties which can be used to configure the broker as its lazily created.

<bytesJDBCAdapter>

This JDBCAdapter inserts and extracts BLOB data using the setBytes()/getBytes() operations. The databases/JDBC drivers that use this adapter are:

<commandAgent>

An agent which listens to commands on a JMS destination

<compositeDemandForwardingBridge>

A demand forwarding bridge which works with multicast style transports where a single Transport could be communicating with multiple remote brokers

<compositeQueue>

Represents a virtual queue which forwards to a number of other destinations.

<compositeTopic>

Represents a virtual topic which forwards to a number of other destinations.

<connectionDotFilePlugin>

A DOT file creator plugin which creates a DOT file showing the current connections

<connectionFactory>

A Spring enhanced connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

<constantPendingMessageLimitStrategy>

This PendingMessageLimitStrategy is configured to a constant value for all subscriptions.

<db2JDBCAdapter>

<defaultJDBCAdapter>

Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter.

sub-classing is encouraged to override the default implementation of methods to account for differences in JDBC Driver implementations.

The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations.

The databases/JDBC drivers that use this adapter are:

<defaultUsageCapacity>

Identify if a limit has been reached

<demandForwardingBridge>

Forwards messages from the local broker to the remote broker based on demand.

<destinationDotFilePlugin>

A DOT file creator plugin which creates a DOT file showing the current topic & queue hierarchies.

<destinationEntry>

A default entry in a DestinationMap which holds a single value.

<fileCursor>

Pending messages

<fileDurableSubscriberCursor>

Pending messages for durable subscribers

<fileQueueCursor>

Pending

<filteredDestination>

Represents a destination which is filtered using some predicate such as a selector so that messages are only dispatched to the destination if they match the filter.

<fixedCountSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed count of last messages.

<fixedSizedSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed amount of memory available in RAM for message history which is evicted in time order.

<forwardingBridge>

Forwards all messages from the local broker to the remote broker.

<imageBasedJDBCAdaptor>

Provides JDBCAdapter since that uses IMAGE datatype to hold binary data. The databases/JDBC drivers that use this adapter are:

  • Sybase
  • MS SQL

<inboundQueueBridge>

Create an Inbound Queue Bridge

<inboundTopicBridge>

Create an Inbound Topic Bridge

<individualDeadLetterStrategy>

A {@link DeadLetterStrategy} where each destination has its own individual DLQ using the subject naming hierarchy.

<informixJDBCAdapter>

JDBC Adapter for Informix database. Because Informix database restricts length of composite primary keys, length of container name field and subscription id field must be reduced to 150 characters. Therefore be sure not to use longer names for container name and subscription id than 150 characters.

<jaasAuthenticationPlugin>

Provides a JAAS based authentication plugin

<jaasCertificateAuthenticationPlugin>

Provides a JAAS based SSL certificate authentication plugin

<jdbcPersistenceAdapter>

A {@link PersistenceAdapter} implementation using JDBC for persistence storage. This persistence adapter will correctly remember prepared XA transactions, but it will not keep track of local transaction commits so that operations performed against the Message store are done as a single uow.

<jmsQueueConnector>

A Bridge to other JMS Queue providers

<jmsTopicConnector>

A Bridge to other JMS Topic providers

<journalPersistenceAdapter>

An implementation of {@link PersistenceAdapter} designed for use with a {@link Journal} and then check pointing asynchronously on a timeout with some other long term persistent storage.

<journaledJDBC>

Creates a default persistence model using the Journal and JDBC

<kahaPersistenceAdapter>

<lDAPAuthorizationMap>

An {@link AuthorizationMap} which uses LDAP

<lastImageSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will only keep the last message.

<ldapNetworkConnector>

class to create dynamic network connectors listed in an directory server using the LDAP v3 protocol as defined in RFC 2251, the entries listed in the directory server must implement the ipHost and ipService objectClasses as defined in RFC 2307.

<loggingBrokerPlugin>

A simple Broker interceptor which allows you to enable/disable logging.

<managementContext>

A Flow provides different dispatch policies within the NMR

<masterConnector>

Connects a Slave Broker to a Master when using Master Slave for High Availability of messages.

<memoryPersistenceAdapter>

<memoryUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

<messageGroupHashBucketFactory>

A factory to create instances of {@link SimpleMessageGroupMap} when implementing the Message Groups functionality.

<mirroredQueue>

Creates Mirrored Queue using a prefix and postfix to define the topic name on which to mirror the queue to.

<multicastNetworkConnector>

A network connector which uses some kind of multicast-like transport that communicates with potentially many remote brokers over a single logical {@link Transport} instance such as when using multicast. This implementation does not depend on multicast at all; any other group based transport could be used.

<multicastTraceBrokerPlugin>

A Broker interceptor which allows you to trace all operations to a Multicast socket.

<networkConnector>

A network connector which uses a discovery agent to detect the remote brokers available and setup a connection to each available remote broker

<noSubscriptionRecoveryPolicy>

This SubscriptionRecoveryPolicy disable recovery of messages.

<oldestMessageEvictionStrategy>

An eviction strategy which evicts the oldest message first (which is the default).

<oldestMessageWithLowestPriorityEvictionStrategy>

An eviction strategy which evicts the oldest message with the lowest priority first.

<oracleJDBCAdapter>

Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter.

Subclassing is encouraged to override the default implementation of methods to account for differences in JDBC Driver implementations.

The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations.

The databases/JDBC drivers that use this adapter are:

<outboundQueueBridge>

Create an Outbound Queue Bridge

<outboundTopicBridge>

Create an Outbound Topic Bridge

<policyEntry>

Represents an entry in a {@link PolicyMap} for assigning policies to a specific destination or a hierarchical wildcard area of destinations.

<policyMap>

Represents a destination based configuration of policies so that individual destinations or wildcard hierarchies of destinations can be configured using different policies.

<prefetchPolicy>

Defines the prefetch message policies for different types of consumers

<prefetchRatePendingMessageLimitStrategy>

This PendingMessageLimitStrategy sets the maximum pending message limit value to be a multiplier of the prefetch limit of the subscription.

<proxyConnector>

<queryBasedSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will perform a user specific query mechanism to load any messages they may have missed.

<queue>

An ActiveMQ Classic Queue

<redeliveryPolicy>

Configuration options used to control how messages are re-delivered when they are rolled back.

<roundRobinDispatchPolicy>

Simple dispatch policy that sends a message to every subscription that matches the message.

<sharedDeadLetterStrategy>

A default implementation of {@link DeadLetterStrategy} which uses a constant destination.

<simpleAuthenticationPlugin>

Provides a simple authentication plugin

<simpleAuthorizationMap>

An AuthorizationMap which is configured with individual DestinationMaps for each operation.

<simpleDispatchPolicy>

Simple dispatch policy that sends a message to every subscription that matches the message.

<simpleJmsMessageConvertor>

Converts Message from one JMS to another

<simpleMessageGroupMapFactory>

A factory to create instances of {@link SimpleMessageGroupMap} when implementing the Message Groups functionality.

<statements>

<storeCursor>

Pending messages

<storeDurableSubscriberCursor>

Pending messages for a durable

<storeUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

<streamJDBCAdapter>

This JDBCAdapter inserts and extracts BLOB data using the setBinaryStream()/getBinaryStream() operations. The databases/JDBC drivers that use this adapter are:

  • Axion

<strictOrderDispatchPolicy>

Dispatch policy that causes every subscription to see messages in the same order.

<systemUsage>

Holder for Usage instances for memory, store and temp files Main use case is manage memory usage.

<tempDestinationAuthorizationEntry>

Represents an entry in a {@link DefaultAuthorizationMap} for assigning different operations (read, write, admin) of user roles to a temporary destination

<tempUsage>

Used to keep track of how much of something is being used so that a productive working set usage can be controlled. Main use case is manage memory usage.

<timeStampingBrokerPlugin>

A Broker interceptor which updates a JMS Client’s timestamp on the message with a broker timestamp. Useful when the clocks on client machines are known to not be correct and you can only trust the time set on the broker machines. Enabling this plugin will break JMS compliance since the timestamp that the producer sees on the messages after as send() will be different from the timestamp the consumer will observe when he receives the message. This plugin is not enabled in the default ActiveMQ Classic configuration.

<timedSubscriptionRecoveryPolicy>

This implementation of {@link SubscriptionRecoveryPolicy} will keep a timed buffer of messages around in memory and use that to recover new subscriptions.

<topic>

An ActiveMQ Classic Topic

<transportConnector>

<udpTraceBrokerPlugin>

A Broker interceptor which allows you to trace all operations to a UDP socket.

<usageCapacity>

Identify if a limit has been reached

<virtualDestinationInterceptor>

Implements Virtual Topics.

<virtualTopic>

Creates Virtual Topics using a prefix and postfix. The virtual destination creates a wildcard that is then used to look up all active queue subscriptions which match.

<vmCursor>

Pending messages held

<vmDurableCursor>

Pending

<vmQueueCursor>

Pending messages

<xaConnectionFactory>

A Spring enhanced XA connection factory which will automatically use the Spring bean name as the clientIDPrefix property so that connections created have client IDs related to your Spring.xml file for easier comprehension from JMX.

Apache, ActiveMQ, Apache ActiveMQ, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. Copyright © 2024, The Apache Software Foundation. Licensed under Apache License 2.0.