From 4afa19b348c4a28ceed3890173b1b2ac38e32a7c Mon Sep 17 00:00:00 2001 From: Clebert Suconic Date: Fri, 13 Mar 2015 18:37:23 -0400 Subject: [PATCH 1/2] Removing extra dependencies brought by transitivity on rest --- activemq-rest/pom.xml | 35 +++++++++++++++++++ examples/jms/rest/dup-send/pom.xml | 12 +++++++ examples/jms/rest/javascript-chat/pom.xml | 12 +++++++ examples/jms/rest/jms-to-rest/pom.xml | 12 +++++++ examples/jms/rest/push/pom.xml | 12 +++++++ .../activemq-aerogear-integration/pom.xml | 6 ++++ 6 files changed, 89 insertions(+) diff --git a/activemq-rest/pom.xml b/activemq-rest/pom.xml index 4e2772da63..ae069e1104 100644 --- a/activemq-rest/pom.xml +++ b/activemq-rest/pom.xml @@ -49,11 +49,21 @@ org.jboss.resteasy resteasy-jaxrs + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + org.jboss.resteasy resteasy-jaxb-provider + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + com.sun.xml.bind jaxb-impl @@ -67,14 +77,32 @@ org.jboss.resteasy resteasy-jackson-provider + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + org.jboss.resteasy resteasy-atom-provider + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + org.jboss.resteasy tjws + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + io.netty @@ -94,9 +122,16 @@ org.apache.geronimo.specs geronimo-jms_2.0_spec + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + 1.0.1.Final + test + junit junit + test diff --git a/examples/jms/rest/dup-send/pom.xml b/examples/jms/rest/dup-send/pom.xml index ce546abcca..65e242add7 100644 --- a/examples/jms/rest/dup-send/pom.xml +++ b/examples/jms/rest/dup-send/pom.xml @@ -151,10 +151,22 @@ under the License. org.jboss.resteasy resteasy-jaxrs + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + org.jboss.resteasy resteasy-jaxb-provider + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + junit diff --git a/examples/jms/rest/javascript-chat/pom.xml b/examples/jms/rest/javascript-chat/pom.xml index 89e39689eb..787627d11b 100644 --- a/examples/jms/rest/javascript-chat/pom.xml +++ b/examples/jms/rest/javascript-chat/pom.xml @@ -165,11 +165,23 @@ under the License. org.jboss.resteasy resteasy-jaxrs ${resteasy.version} + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + org.jboss.resteasy resteasy-jaxb-provider ${resteasy.version} + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + junit diff --git a/examples/jms/rest/jms-to-rest/pom.xml b/examples/jms/rest/jms-to-rest/pom.xml index 0c36696c83..d583a55e45 100644 --- a/examples/jms/rest/jms-to-rest/pom.xml +++ b/examples/jms/rest/jms-to-rest/pom.xml @@ -151,10 +151,22 @@ under the License. org.jboss.resteasy resteasy-jaxrs + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + org.jboss.resteasy resteasy-jaxb-provider + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + junit diff --git a/examples/jms/rest/push/pom.xml b/examples/jms/rest/push/pom.xml index 5d497a04c6..14713eeb3b 100644 --- a/examples/jms/rest/push/pom.xml +++ b/examples/jms/rest/push/pom.xml @@ -157,10 +157,22 @@ under the License. org.jboss.resteasy resteasy-jaxrs + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + org.jboss.resteasy resteasy-jaxb-provider + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + junit diff --git a/integration/activemq-aerogear-integration/pom.xml b/integration/activemq-aerogear-integration/pom.xml index d109a9d300..c0c40cda17 100644 --- a/integration/activemq-aerogear-integration/pom.xml +++ b/integration/activemq-aerogear-integration/pom.xml @@ -63,6 +63,12 @@ org.jboss.resteasy resteasy-jackson-provider 2.3.2.Final + + + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec + + From 0cf2a56fd6c47fec67416bf860eb32ece9a47360 Mon Sep 17 00:00:00 2001 From: Clebert Suconic Date: Fri, 13 Mar 2015 18:37:28 -0400 Subject: [PATCH 2/2] A Few fixes around docs using GMF (Github Markdown Flavored) on tables I also did some review of the huge table we have, removed a few columns such as the datatype and embedded the default on the description. Just trying to make easier to render and read Also a few fixes on the doc context such as adding links and improving configuration-index --- docs/user-manual/en/configuration-index.md | 2093 +++---------------- docs/user-manual/en/message-expiry.md | 2 +- docs/user-manual/en/persistence.md | 2 +- docs/user-manual/en/rest.md | 63 +- docs/user-manual/en/security.md | 2 +- docs/user-manual/en/tools.md | 17 +- docs/user-manual/en/undelivered-messages.md | 4 +- docs/user-manual/en/using-jms.md | 39 +- 8 files changed, 322 insertions(+), 1900 deletions(-) diff --git a/docs/user-manual/en/configuration-index.md b/docs/user-manual/en/configuration-index.md index 05ff4a6243..82d89347fd 100644 --- a/docs/user-manual/en/configuration-index.md +++ b/docs/user-manual/en/configuration-index.md @@ -17,1785 +17,226 @@ element is used by the server side JMS service to load JMS Queues, Topics # The core configuration +This describes the root of the XML configuration. You will see here also multiple sub-types listed. +For example on the main config you will have bridges and at the [list of bridge](#bridge) type we will describe the properties for that configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Element NameElement TypeDescriptionDefault
- acceptors - Sequence of <acceptor/>a list of remoting acceptors to create
- acceptors.acceptor - Complex element
- acceptors.acceptor.name (attribute) - xsd:stringName of the acceptor
- acceptors.acceptor.factory-class - xsd:stringName of the AcceptorFactory implementation
- acceptors.acceptor.param - Complex elementA key-value pair used to configure the acceptor. An acceptor can have many param
- acceptors.acceptor.param.key (required attribute) - xsd:stringKey of a configuration parameter
- acceptors.acceptor.param.value (required attribute) - xsd:stringValue of a configuration parameter
- address-settings - Sequence of <address-setting/>a list of address settings
- address-settings.address-setting - Complex element
- address-settings.address-setting.match (required - attribute) - xsd:stringXXX
- address-settings.address-setting.dead-letter-address - xsd:stringthe address to send dead messages to
- address-settings.address-setting.expiry-address - xsd:stringthe address to send expired messages to
- address-settings.address-setting.expiry-delay - xsd:longOverrides the expiration time for messages using the default value for expiration time. "-1" disables this - setting. - -1
- address-settings.address-setting.redelivery-delay - xsd:longthe time (in ms) to wait before redelivering a cancelled message.0
- address-settings.address-setting.redelivery-delay-multiplier - xsd:doublemultipler to apply to the "redelivery-delay"
- address-settings.address-setting.max-redelivery-delay - xsd:longMaximum value for the redelivery-delay
- address-settings.address-setting.max-delivery-attempts - xsd:inthow many times to attempt to deliver a message before sending to dead letter address10
- address-settings.address-setting.max-size-bytes - xsd:longthe maximum size (in bytes) to use in paging for an address (-1 means no limits)-1
- address-settings.address-setting.page-size-bytes - xsd:longthe page size (in bytes) to use for an address10485760 (10 * 1024 * 1024)
- address-settings.address-setting.page-max-cache-size - xsd:intNumber of paging files to cache in memory to avoid IO during paging navigation5
- address-settings.address-setting.address-full-policy - DROP|FAIL|PAGE|BLOCKwhat happens when an address where "max-size-bytes" is specified becomes full
- address-settings.address-setting.message-counter-history-day-limit - xsd:inthow many days to keep message counter history for this address0 (days)
- address-settings.address-setting.last-value-queue - xsd:booleanwhether to treat the queue as a last value queuefalse
- address-settings.address-setting.redistribution-delay - xsd:longhow long (in ms) to wait after the last consumer is closed on a queue before redistributing messages.-1
- address-settings.address-setting.send-to-dla-on-no-route - xsd:booleanif there are no queues matching this address, whether to forward message to DLA (if it exists for this - address) -
- allow-failback - xsd:booleanWhether a server will automatically stop when a another places a request to take over its place. The use - case is when a regular server stops and its backup takes over its duties, later the main server restarts and - requests the server (the former backup) to stop operating. - true
- async-connection-execution-enabled - xsd:booleanShould incoming packets on the server be handed off to a thread from the thread pool for processing or - should they be handled on the remoting thread? - true
- bindings-directory - xsd:stringthe directory to store the persisted bindings todata/bindings
- bridges - Sequence of <bridge/>a list of bridges to create
- bridges.bridge - Complex element
- bridges.bridge.name (required - attribute) - xsd:IDunique name for this bridge
- bridges.bridge.queue-name - xsd:IDREFname of queue that this bridge consumes from
- bridges.bridge.forwarding-address - xsd:stringaddress to forward to. If omitted original address is used
- bridges.bridge.ha - xsd:booleanwhether this bridge supports fail-overfalse
- bridges.bridge.filter - Complex element
- bridges.bridge.filter.string - (required attribute) - xsd:stringoptional core filter expression
- bridges.bridge.transformer-class-name - xsd:stringoptional name of transformer class
- bridges.bridge.min-large-message-size - xsd:intAny message larger than this size is considered a large message (to be sent in chunks)102400 (bytes)
- bridges.bridge.check-period - xsd:longThe period (in milliseconds) a bridge's client will check if it failed to receive a ping from the server. -1 - disables this check. - 30000 (ms)
- bridges.bridge.connection-ttl - xsd:longhow long to keep a connection alive in the absence of any data arriving from the client. This should be - greater than the ping period. - 60000 (ms)
- bridges.bridge.retry-interval - xsd:longperiod (in ms) between successive retries2000 (in milliseconds)
- bridges.bridge.retry-interval-multiplier - xsd:doublemultiplier to apply to successive retry intervals1
- bridges.bridge.max-retry-interval - xsd:longLimit to the retry-interval growth (due to retry-interval-multiplier)2000
- bridges.bridge.reconnect-attempts - xsd:intmaximum number of retry attempts, -1 means 'no limits'-1
- bridges.bridge.use-duplicate-detection - xsd:booleanshould duplicate detection headers be inserted in forwarded messages?true
- bridges.bridge.confirmation-window-size - xsd:intOnce the bridge has received this many bytes, it sends a confirmation(bytes, 1024 * 1024)
- bridges.bridge.user - xsd:stringusername, if unspecified the cluster-user is used
- bridges.bridge.password - xsd:stringpassword, if unspecified the cluster-password is used
- bridges.bridge.reconnect-attempts-same-node - xsd:intUpon reconnection this configures the number of time the same node on the topology will be retried before - reseting the server locator and using the initial connectors - 10 (int, 10)
- broadcast-groups - Sequence of <broadcast-group/>a list of broadcast groups to create
- broadcast-groups.broadcast-group - Complex element
- broadcast-groups.broadcast-group.name - (required attribute) - xsd:IDa unique name for the broadcast group
- broadcast-groups.broadcast-group.local-bind-address - xsd:stringlocal bind address that the datagram socket is bound towildcard IP address chosen by the kernel
- broadcast-groups.broadcast-group.local-bind-port - xsd:intlocal port to which the datagram socket is bound to-1 (anonymous port)
- broadcast-groups.broadcast-group.group-address - xsd:stringmulticast address to which the data will be broadcast
- broadcast-groups.broadcast-group.group-port - xsd:intUDP port number used for broadcasting
- broadcast-groups.broadcast-group.broadcast-period - xsd:longperiod in milliseconds between consecutive broadcasts2000 (in milliseconds)
- broadcast-groups.broadcast-group.jgroups-file - xsd:stringName of JGroups configuration file. If specified, the server uses JGroups for broadcasting.
- broadcast-groups.broadcast-group.jgroups-channel - xsd:stringName of JGroups Channel. If specified, the server uses the named channel for broadcasting.
- broadcast-groups.broadcast-group.connector-ref - xsd:string
- check-for-live-server - xsd:booleanWhether to check the cluster for a (live) server using our own server ID when starting up. This option is - only necessary for performing 'fail-back' on replicating servers. Strictly speaking this setting only - applies to live servers and not to backups. - false
- cluster-connections - Sequence of <cluster-connection/>a list of cluster connections
- cluster-connections.cluster-connection - Complex element
- cluster-connections.cluster-connection.name - (required attribute) - xsd:IDunique name for this cluster connection
- cluster-connections.cluster-connection.address - xsd:stringname of the address this cluster connection applies to
- cluster-connections.cluster-connection.connector-ref - xsd:stringName of the connector reference to use.
- cluster-connections.cluster-connection.check-period - xsd:longThe period (in milliseconds) used to check if the cluster connection has failed to receive pings from - another server - 30000 (ms)
- cluster-connections.cluster-connection.connection-ttl - xsd:longhow long to keep a connection alive in the absence of any data arriving from the client60000 (ms)
- cluster-connections.cluster-connection.min-large-message-size - xsd:intMessages larger than this are considered large-messages(bytes)
- cluster-connections.cluster-connection.call-timeout - xsd:longHow long to wait for a reply30000 (ms)
- cluster-connections.cluster-connection.retry-interval - xsd:longperiod (in ms) between successive retries500
- cluster-connections.cluster-connection.retry-interval-multiplier - xsd:doublemultiplier to apply to the retry-interval1
- cluster-connections.cluster-connection.max-retry-interval - xsd:longMaximum value for retry-interval2000
- cluster-connections.cluster-connection.reconnect-attempts - xsd:intHow many attempts should be made to reconnect after failure-1
- cluster-connections.cluster-connection.use-duplicate-detection - xsd:booleanshould duplicate detection headers be inserted in forwarded messages?true
- cluster-connections.cluster-connection.forward-when-no-consumers - xsd:booleanshould messages be load balanced if there are no matching consumers on target?false
- cluster-connections.cluster-connection.max-hops - xsd:intmaximum number of hops cluster topology is propagated1
- cluster-connections.cluster-connection.confirmation-window-size - xsd:intThe size (in bytes) of the window used for confirming data from the server connected to.1048576
- cluster-connections.cluster-connection.call-failover-timeout - xsd:longHow long to wait for a reply if in the middle of a fail-over. -1 means wait forever.-1 (ms)
- cluster-connections.cluster-connection.notification-interval - xsd:longhow often the cluster connection will notify the cluster of its existence right after joining the cluster - 1000 (ms)
- cluster-connections.cluster-connection.notification-attempts - xsd:inthow many times this cluster connection will notify the cluster of its existence right after joining the - cluster - 2
- clustered - xsd:booleanDEPRECATED. This option is deprecated and its value will be ignored (HQ221038). A HornetQ server will be - "clustered" when its configuration contain a cluster-configuration. - false
- cluster-password - xsd:stringCluster password. It applies to all cluster configurations.CHANGE ME!!
- cluster-user - xsd:stringCluster username. It applies to all cluster configurations.HORNETQ.CLUSTER.ADMIN.USER
- connection-ttl-override - xsd:longif set, this will override how long (in ms) to keep a connection alive without receiving a ping. -1 disables - this setting. - -1
- connectors - Sequence of <connector/>a list of remoting connectors configurations to create
- connectors.connector - Complex element
- connectors.connector.name (required attribute) - xsd:IDName of the connector
- connectors.connector.factory-class - xsd:stringName of the ConnectorFactory implementation
- connectors.connector.param - Complex elementA key-value pair used to configure the connector. A connector can have many param's
- connectors.connector.param.key (required attribute) - xsd:stringKey of a configuration parameter
- connectors.connector.param.value (required attribute) - xsd:stringValue of a configuration parameter
- connector-services - Sequence of <connector-service/>
- connector-services.connector-service - Complex element
- connector-services.connector-service.name (attribute) - xsd:stringname of the connector service
- connector-services.connector-service.factory-class - xsd:stringName of the factory class of the ConnectorService
- connector-services.connector-service.param - Complex element
- connector-services.connector-service.param.key (required attribute) - xsd:stringKey of a configuration parameter
- connector-services.connector-service.param.value (required attribute) - xsd:stringValue of a configuration parameter
- create-bindings-dir - xsd:booleantrue means that the server will create the bindings directory on start uptrue
- create-journal-dir - xsd:booleantrue means that the journal directory will be createdtrue
- discovery-groups - Sequence of <discovery-group/>a list of discovery groups to create
- discovery-groups.discovery-group - Complex element
- discovery-groups.discovery-group.name - (required attribute) - xsd:IDa unique name for the discovery group
- discovery-groups.discovery-group.group-address - xsd:stringMulticast IP address of the group to listen on
- discovery-groups.discovery-group.group-port - xsd:intUDP port number of the multi cast group
- discovery-groups.discovery-group.jgroups-file - xsd:stringName of a JGroups configuration file. If specified, the server uses JGroups for discovery.
- discovery-groups.discovery-group.jgroups-channel - xsd:stringName of a JGroups Channel. If specified, the server uses the named channel for discovery.
- discovery-groups.discovery-group.refresh-timeout - xsd:intPeriod the discovery group waits after receiving the last broadcast from a particular server before removing - that servers connector pair entry from its list. - 10000 (in milliseconds)
- discovery-groups.discovery-group.local-bind-address - xsd:stringlocal bind address that the datagram socket is bound towildcard IP address chosen by the kernel
- discovery-groups.discovery-group.local-bind-port - xsd:intlocal port to which the datagram socket is bound to-1 (anonymous port)
- discovery-groups.discovery-group.initial-wait-timeout - xsd:inttime to wait for an initial broadcast to give us at least one node in the cluster10000 (milliseconds)
- diverts - Sequence of <divert/>a list of diverts to use
- diverts.divert - Complex element
- diverts.divert.name - (required attribute) - xsd:IDa unique name for the divert
- diverts.divert.transformer-class-name - xsd:stringan optional class name of a transformer
- diverts.divert.exclusive - xsd:booleanwhether this is an exclusive divertfalse
- diverts.divert.routing-name - xsd:stringthe routing name for the divert
- diverts.divert.address - xsd:stringthe address this divert will divert from
- diverts.divert.forwarding-address - xsd:stringthe forwarding address for the divert
- diverts.divert.filter - Complex element
- diverts.divert.filter.string - (required attribute) - xsd:stringoptional core filter expression
- graceful-shutdown-enabled - xsd:booleantrue means that graceful shutdown is enabledtrue
- graceful-shutdown-timeout - xsd:longhow long (in ms) to wait for all clients to disconnect before forcefully disconnecting the clients and proceeding with the shutdown process (-1 means no timeout)-1
- grouping-handler - Complex elementMessage Group configuration
- grouping-handler.name - (required attribute) - xsd:stringA name identifying this grouping-handler
- grouping-handler.type - LOCAL|REMOTEEach cluster should choose 1 node to have a LOCAL grouping handler and all the other nodes should have - REMOTE handlers -
- grouping-handler.address - xsd:stringA reference to a cluster connection address
- grouping-handler.timeout - xsd:intHow long to wait for a decision5000 (ms)
- grouping-handler.group-timeout - xsd:intHow long a group binding will be used, -1 means for ever. Bindings are removed after this wait elapses. Only - valid for LOCAL handlers - -1 (ms)
- grouping-handler.reaper-period - xsd:longHow often the reaper will be run to check for timed out group bindings. Only valid for LOCAL handlers30000 (ms)
- id-cache-size - xsd:intthe size of the cache for pre-creating message ID's20000
- jmx-domain - xsd:stringthe JMX domain used to registered HornetQ MBeans in the MBeanServerorg.hornetq
- jmx-management-enabled - xsd:booleantrue means that the management API is available via JMXtrue
- journal-buffer-size - xsd:longThe size of the internal buffer on the journal in KiB.501760 (490 KiB)
- journal-buffer-timeout - xsd:longThe timeout (in nanoseconds) used to flush internal buffers on the journal. The exact default value depend - on whether the journal is ASYNCIO or NIO. -
- journal-compact-min-files - xsd:intThe minimal number of data files before we can start compacting10
- journal-compact-percentage - xsd:intThe percentage of live data on which we consider compacting the journal30
- journal-directory - xsd:stringthe directory to store the journal files indata/journal
- journal-file-size - xsd:intthe size (in bytes) of each journal file10485760 (10 * 1024 * 1024 - 10 MiB)
- journal-max-io - xsd:intthe maximum number of write requests that can be in the AIO queue at any one time. Default is 500 for AIO - and 1 for NIO. -
- journal-min-files - xsd:inthow many journal files to pre-create2
- journal-sync-non-transactional - xsd:booleanif true wait for non transaction data to be synced to the journal before returning response to client.true
- journal-sync-transactional - xsd:booleanif true wait for transaction data to be synchronized to the journal before returning response to clienttrue
- journal-type - ASYNCIO|NIOthe type of journal to useASYNCIO
- large-messages-directory - xsd:stringthe directory to store large messagesdata/largemessages
- log-delegate-factory-class-name - xsd:stringXXX
- log-journal-write-rate - xsd:booleanWhether to log messages about the journal write ratefalse
- management-address - xsd:stringthe name of the management address to send management messages to. It is prefixed with "jms.queue" so that - JMS clients can send messages to it. - jms.queue.hornetq.management
- management-notification-address - xsd:stringthe name of the address that consumers bind to receive management notificationshornetq.notifications
- mask-password - xsd:booleanThis option controls whether passwords in server configuration need be masked. If set to "true" the - passwords are masked. - false
- max-saved-replicated-journals-size - xsd:intThis specifies how many times a replicated backup server can restart after moving its files on start. Once - there are this number of backup journal files the server will stop permanently after if fails back. - 2
- memory-measure-interval - xsd:longfrequency to sample JVM memory in ms (or -1 to disable memory sampling)-1 (ms)
- memory-warning-threshold - xsd:intPercentage of available memory which will trigger a warning log25
- message-counter-enabled - xsd:booleantrue means that message counters are enabledfalse
- message-counter-max-day-history - xsd:inthow many days to keep message counter history10 (days)
- message-counter-sample-period - xsd:longthe sample period (in ms) to use for message counters10000
- message-expiry-scan-period - xsd:longhow often (in ms) to scan for expired messages30000
- message-expiry-thread-priority - xsd:intthe priority of the thread expiring messages3
- name - xsd:stringNode name. If set, it will be used in topology notifications.
- page-max-concurrent-io - xsd:intThe max number of concurrent reads allowed on paging5
- paging-directory - xsd:stringthe directory to store paged messages indata/paging
- password-codec - xsd:stringClass name and its parameters for the Decoder used to decode the masked password. Ignored if mask-password - is false. The format of this property is a full qualified class name optionally followed by key/value pairs. - org.hornetq.utils.DefaultSensitiveStringCodec
- perf-blast-pages - xsd:intXXX Only meant to be used by project developers-1
- persist-delivery-count-before-delivery - xsd:booleanTrue means that the delivery count is persisted before delivery. False means that this only happens after a - message has been cancelled. - false
- persistence-enabled - xsd:booleantrue means that the server will use the file based journal for persistence.true
- persist-id-cache - xsd:booleantrue means that ID's are persisted to the journaltrue
- queues - Sequence of <queue/>a list of pre configured queues to create
- queues.queue - Complex element
- queues.queue.name - (required attribute) - xsd:IDunique name of this queue
- queues.queue.address - xsd:stringaddress for the queue
- queues.queue.filter - Complex element
- queues.queue.filter.string - (required attribute) - xsd:stringoptional core filter expression
- queues.queue.durable - xsd:booleanwhether the queue is durable (persistent)true
- remoting-incoming-interceptors - Complex elementa list of <class-name/> elements with the names of classes to use for interceptor incoming remoting - packetsunlimited sequence of <class-name/>
- remoting-incoming-interceptors.class-name - xsd:stringthe fully qualified name of the interceptor class
- remoting-interceptors - Complex elementDEPRECATED. This option is deprecated, but it will still be honored. Any interceptor specified here will be - considered an "incoming" interceptor. See <remoting-incoming-interceptors> and <remoting-outgoing-interceptors>.unlimited - sequence of <class-name/>
- remoting-interceptors.class-name - xsd:stringthe fully qualified name of the interceptor class
- remoting-outgoing-interceptors - Complex elementa list of <class-name/> elements with the names of classes to use for interceptor outcoming remoting - packetsunlimited sequence of <class-name/>
- remoting-outgoing-interceptors.class-name - xsd:stringthe fully qualified name of the interceptor class
- resolveProtocols - xsd:booleanIf true then the HornetQ Server will make use of any Protocol Managers that are in available on the - classpath. If false then only the core protocol will be available, unless in Embedded mode where users can - inject their own Protocol Managers. - true
- run-sync-speed-test - xsd:booleanXXX Only meant to be used by project developersfalse
- scheduled-thread-pool-max-size - xsd:intMaximum number of threads to use for the scheduled thread pool5
- security-enabled - xsd:booleantrue means that security is enabledtrue
- security-invalidation-interval - xsd:longhow long (in ms) to wait before invalidating the security cache10000
- security-settings - Sequence of <security-setting/>a list of security settings
- security-settings.security-setting - Sequence of <permission/>
- security-settings.security-setting.match (required - attribute) - xsd:stringregular expression for matching security roles against addresses
- security-settings.security-setting.permission - Complex element
- security-settings.security-setting.permission.type - (required attribute) - xsd:stringthe type of permission
- security-settings.security-setting.permission.roles - (required attribute) - xsd:stringa comma-separated list of roles to apply the permission to
- server-dump-interval - xsd:longInterval to log server specific information (e.g. memory usage etc)-1 (ms)
- thread-pool-max-size - xsd:intMaximum number of threads to use for the thread pool. -1 means 'no limits'.30
- transaction-timeout - xsd:longhow long (in ms) before a transaction can be removed from the resource manager after create time300000
- transaction-timeout-scan-period - xsd:longhow often (in ms) to scan for timeout transactions1000
- wild-card-routing-enabled - xsd:booleantrue means that the server supports wild card routingtrue
+Name | Description +:--- | :--- +[acceptors](configuring-transports.md "16.1. Understanding Acceptors") | a list of remoting acceptors +[acceptors.acceptor](configuring-transports.md "16.1. Understanding Acceptors") | Each acceptor is composed for just an URL +[address-settings](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | [a list of address-setting](#adset) +[allow-failback](ha.md "39.1.4. Failing Back to live Server") | Should stop backup on live restart. default true +[async-connection-execution-enabled](connection-ttl.md "17.3. Configuring Asynchronous Connection Execution") | If False delivery would be always asynchronous. default true +[bindings-directory](persistence.md "15.1. Configuring the bindings journal") | The folder in use for the bindings folder +[bridges](core-bridges.md "Chapter 36. Core Bridges") | [a list of bridge](#bridge) +[broadcast-groups](clusters.md "Chapter 38. Clusters") | [a list of broadcast-group](#broadcast) +[check-for-live-server](ha.md) | Used for a live server to verify if there are other nodes with the same ID on the topology +[cluster-connections](clusters.md "Chapter 38. Clusters") | [a list of cluster-connection](#clusterconn) +[cluster-password](clusters.md "Chapter 38. Clusters") | Cluster password. It applies to all cluster configurations. +[cluster-user](clusters.md "Chapter 38. Clusters") | Cluster username. It applies to all cluster configurations. +[connection-ttl-override](connection-ttl.md) | if set, this will override how long (in ms) to keep a connection alive without receiving a ping. -1 disables this setting. Default -1 +[connectors.connector](configuring-transports.md "16.2. Understanding Connectors") | The URL for the connector. This is a list +[create-bindings-dir](persistence.md "15.1. Configuring the bindings journal") | true means that the server will create the bindings directory on start up. Default=true +[create-journal-dir](persistence.md) | true means that the journal directory will be created. Default=true +[discovery-groups](clusters.md "Chapter 38. Clusters") | [a list of discovery-group](#discgroup) +[diverts](diverts.md "Chapter 35. Diverting and Splitting Message Flows") | [a list of diverts to use](#divert) +[graceful-shutdown-enabled](graceful-shutdown.md "Graceful Server Shutdown") | true means that graceful shutdown is enabled. Default=true +[graceful-shutdown-timeout](graceful-shutdown.md "Graceful Server Shutdown") | Timeout on waitin for clients to disconnect before server shutdown. Default=-1 +[grouping-handler](message-grouping.md "Chapter 28. Message Grouping") | Message Group configuration +[id-cache-size](duplicate-detection.md "37.2. Configuring the Duplicate ID Cache") | The duplicate detection circular cache size. Default=20000 +[jmx-domain](management.md "30.2.1. Configuring JMX") | the JMX domain used to registered MBeans in the MBeanServer. Default=org.apache.activemq +[jmx-management-enabled](management.md "30.2.1. Configuring JMX") | true means that the management API is available via JMX. Default=true +[journal-buffer-size](persistence.md) | The size of the internal buffer on the journal in KB. Default=490 KiB +[journal-buffer-timeout](persistence.md) | The Flush timeout for the journal buffer +[journal-compact-min-files](persistence.md) | The minimal number of data files before we can start compacting. Default=10 +[journal-compact-percentage](persistence.md) | The percentage of live data on which we consider compacting the journal. Default=30 +[journal-directory](persistence.md) | the directory to store the journal files in. Default=data/journal +[journal-file-size](persistence.md) | the size (in bytes) of each journal file. Default=10485760 (10 MB) +[journal-max-io](persistence.md#configuring.message.journal.journal-max-io) | the maximum number of write requests that can be in the AIO queue at any one time. Default is 500 for AIO and 1 for NIO. +[journal-min-files](persistence.md#configuring.message.journal.journal-min-files) | how many journal files to pre-create. Default=2 +[journal-sync-non-transactional](persistence.md) | if true wait for non transaction data to be synced to the journal before returning response to client. Default=true +[journal-sync-transactional](persistence.md) | if true wait for transaction data to be synchronized to the journal before returning response to client. Default=true +[journal-type](persistence.md) | the type of journal to use. Default=ASYNCIO +[large-messages-directory](large-messages.md "23.1. Configuring the server") | the directory to store large messages. Default=data/largemessages +[management-address](management.md "30.3.1. Configuring Core Management") | the name of the management address to send management messages to. It is prefixed with "jms.queue" so that JMS clients can send messages to it. Default=jms.queue.activemq.management +[management-notification-address](management.md "30.5.2.1. Configuring The Core Management Notification Address") | the name of the address that consumers bind to receive management notifications. Default=activemq.notifications +[mask-password](configuration-index.md "50.1.3. Using Masked Passwords in Configuration Files") | This option controls whether passwords in server configuration need be masked. If set to "true" the passwords are masked. Default=false +[max-saved-replicated-journals-size]() | This specifies how many times a replicated backup server can restart after moving its files on start. Once there are this number of backup journal files the server will stop permanently after if fails back. Default=2 +[memory-measure-interval](perf-tuning.md) | frequency to sample JVM memory in ms (or -1 to disable memory sampling). Default=-1 +[memory-warning-threshold](perf-tuning.md) | Percentage of available memory which will trigger a warning log. Default=25 +[message-counter-enabled](management.md "30.6.1. Configuring Message Counters") | true means that message counters are enabled. Default=false +[message-counter-max-day-history](management.md "30.6.1. Configuring Message Counters") | how many days to keep message counter history. Default=10 (days) +[message-counter-sample-period](management.md "30.6.1. Configuring Message Counters") | the sample period (in ms) to use for message counters. Default=10000 +[message-expiry-scan-period](message-expiry.md "22.3. Configuring The Expiry Reaper Thread") | how often (in ms) to scan for expired messages. Default=30000 +[message-expiry-thread-priority](message-expiry.md "22.3. Configuring The Expiry Reaper Thread") | the priority of the thread expiring messages. Default=3 +[page-max-concurrent-io](paging.md "24.3. Paging Mode") | The max number of concurrent reads allowed on paging. Default=5 +[paging-directory](paging.md "24.2. Configuration") | the directory to store paged messages in. Default=data/paging +[persist-delivery-count-before-delivery](undelivered-messages.md "21.3. Delivery Count Persistence") | True means that the delivery count is persisted before delivery. False means that this only happens after a message has been cancelled. Default=false +[persistence-enabled](persistence.md "15.6. Configuring ActiveMQ for Zero Persistence") | true means that the server will use the file based journal for persistence. Default=true +[persist-id-cache](duplicate-detection.md "37.2. Configuring the Duplicate ID Cache") | true means that ID's are persisted to the journal. Default=true +[queues](queue-attributes.md "25.1. Predefined Queues") | [a list of queue to be created](#queue) +[remoting-incoming-interceptors](intercepting-operations.md "Chapter 47. Intercepting Operations") | A list of interceptor +[resolveProtocols]() | Use [ServiceLoader](http://docs.oracle.com/javase/tutorial/ext/basics/spi.html) to load protocol modules. Default=true +[scheduled-thread-pool-max-size](thread-pooling.md#server.scheduled.thread.pool "41.1.1. Server Scheduled Thread Pool")| Maximum number of threads to use for the scheduled thread pool. Default=5 +[security-enabled](security.md "Chapter 31. Security") | true means that security is enabled. Default=true +[security-invalidation-interval](security.md "Chapter 31. Security") | how long (in ms) to wait before invalidating the security cache. Default=10000 +[security-settings](security.md "31.1. Role based security for addresses") | [a list of security-setting](#secset) +[thread-pool-max-size](thread-pooling.md "41.1.1. Server Scheduled Thread Pool") | Maximum number of threads to use for the thread pool. -1 means 'no limits'.. Default=30 +[transaction-timeout](transaction-config.md "Chapter 18. Resource Manager Configuration") | how long (in ms) before a transaction can be removed from the resource manager after create time. Default=300000 +[transaction-timeout-scan-period](transaction-config.md "Chapter 18. Resource Manager Configuration") | how often (in ms) to scan for timeout transactions. Default=1000 +[wild-card-routing-enabled](wildcard-routing.md "Chapter 12. Routing Messages With Wild Cards") | true means that the server supports wild card routing. Default=true + + +#address-setting configuration type + +Name | Description +:--- | :--- +[match ](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | The filter to apply to the setting +[dead-letter-address](undelivered-messages.md "21.2.1. Configuring Dead Letter Addresses") | dead letter address +[expiry-address](message-expiry.md "22.2. Configuring Expiry Addresses") | expired messages address +[expiry-delay](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | expiration time override, -1 don't override with default=-1 +[redelivery-delay](undelivered-messages.md "21.1.1. Configuring Delayed Redelivery") | time to redeliver a message (in ms) with default=0 +[redelivery-delay-multiplier](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | multiplier to apply to the "redelivery-delay" +[max-redelivery-delay](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | Max value for the redelivery-delay +[max-delivery-attempts](undelivered-messages.md "21.2.1. Configuring Dead Letter Addresses") | Number of retries before dead letter address, default=10 +[max-size-bytes](paging.md "Chapter 24. Paging") | Limit before paging. -1 = infinite +[page-size-bytes](paging.md "Chapter 24. Paging") | Size of each file on page, default=10485760 +[page-max-cache-size](paging.md "Chapter 24. Paging") | Maximum number of files cached from paging default=5 +[address-full-policy](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | Model to chose after queue full +[message-counter-history-day-limit](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | Days to keep in history +[last-value-queue](last-value-queues.md "Chapter 27. Last-Value Queues") | Queue is a last value queue, default=false +[redistribution-delay](clusters.md "Chapter 38. Clusters") | Timeout before redistributing values after no consumers. default=-1 +[send-to-dla-on-no-route](queue-attributes.md "25.3. Configuring Queues Via Address Settings") | Forward messages to DLA when no queues subscribing. default=false + + + +#bridge configuration type + +Name | Description +:--- | :--- +[name ](core-bridges.md "Chapter 36. Core Bridges") | unique name +[queue-name](core-bridges.md "Chapter 36. Core Bridges") | name of queue that this bridge consumes from +[forwarding-address](core-bridges.md "Chapter 36. Core Bridges") | address to forward to. If omitted original address is used +[ha](core-bridges.md "Chapter 36. Core Bridges") | whether this bridge supports fail-over +[filter](core-bridges.md "Chapter 36. Core Bridges") | optional core filter expression | +[transformer-class-name](core-bridges.md "Chapter 36. Core Bridges") | optional name of transformer class +[min-large-message-size](core-bridges.md "Chapter 36. Core Bridges") | Limit before message is considered large. default 100KB +[check-period](connection-ttl.md "Chapter 17. Detecting Dead Connections") | [TTL](http://en.wikipedia.org/wiki/Time_to_live "Time to Live") check period for the bridge. -1 means disabled. default 30000 (ms) +[connection-ttl](connection-ttl.md "Chapter 17. Detecting Dead Connections") | [TTL](http://en.wikipedia.org/wiki/Time_to_live "Time to Live") for the Bridge. This should be greater than the ping period. default 60000 (ms) +[retry-interval](core-bridges.md "Chapter 36. Core Bridges") | period (in ms) between successive retries. default 2000 +[retry-interval-multiplier](core-bridges.md "Chapter 36. Core Bridges") | multiplier to apply to successive retry intervals. default 1 +[max-retry-interval](core-bridges.md "Chapter 36. Core Bridges") | Limit to the retry-interval growth. default 2000 +[reconnect-attempts](core-bridges.md "Chapter 36. Core Bridges") | maximum number of retry attempts, -1 means 'no limits'. default -1 +[use-duplicate-detection](core-bridges.md "Chapter 36. Core Bridges") | forward duplicate detection headers?. default true +[confirmation-window-size](core-bridges.md "Chapter 36. Core Bridges") | number of bytes before confirmations are sent. default 1MB +[user](core-bridges.md "Chapter 36. Core Bridges") | Username for the bridge, the default is the cluster username +[password](core-bridges.md "Chapter 36. Core Bridges") | Password for the bridge, default is the cluster password +[reconnect-attempts-same-node](core-bridges.md "Chapter 36. Core Bridges") | Number of retries before trying another node. default 10 + + +# broadcast-group configuration type + +Name | Type +:--- | :--- +[name ](clusters.md "Chapter 38. Clusters") | unique name +[local-bind-address](clusters.md "Chapter 38. Clusters") | local bind address that the datagram socket is bound to +[local-bind-port](clusters.md "Chapter 38. Clusters") | local port to which the datagram socket is bound to +[group-address](clusters.md "Chapter 38. Clusters") | multicast address to which the data will be broadcast +[group-port](clusters.md "Chapter 38. Clusters") | UDP port number used for broadcasting +[broadcast-period](clusters.md "Chapter 38. Clusters") | period in milliseconds between consecutive broadcasts. default 2000 +[jgroups-file](clusters.md) | Name of JGroups configuration file +[jgroups-channel](clusters.md) | Name of JGroups Channel +[connector-ref](clusters.md "Chapter 38. Clusters") | + + + +#cluster-connection configuration type + +Name | Description +:--- | :--- +[name](clusters.md "Chapter 38. Clusters") | unique name +[address](clusters.md "Chapter 38. Clusters") | name of the address this cluster connection applies to +[connector-ref](clusters.md "Chapter 38. Clusters") | Name of the connector reference to use. +[check-period](connection-ttl.md "Chapter 17. Detecting Dead Connections") | The period (in milliseconds) used to check if the cluster connection has failed to receive pings from another server with default = 30000 +[connection-ttl](connection-ttl.md "Chapter 17. Detecting Dead Connections") | Timeout for TTL. Default 60000 +[min-large-message-size](large-messages.md "Chapter 23. Large Messages") | Messages larger than this are considered large-messages, default=100KB +[call-timeout](clusters.md "Chapter 38. Clusters") | Time(ms) before giving up on blocked calls. Default=30000 +[retry-interval](clusters.md "Chapter 38. Clusters") | period (in ms) between successive retries. Default=500 +[retry-interval-multiplier](clusters.md "Chapter 38. Clusters") | multiplier to apply to the retry-interval. Default=1 +[max-retry-interval](clusters.md "Chapter 38. Clusters") | Maximum value for retry-interval. Default=2000 +[reconnect-attempts](clusters.md "Chapter 38. Clusters") | How many attempts should be made to reconnect after failure. Default=-1 +[use-duplicate-detection](clusters.md "Chapter 38. Clusters") | should duplicate detection headers be inserted in forwarded messages?. Default=true +[forward-when-no-consumers](clusters.md "Chapter 38. Clusters") | should messages be load balanced if there are no matching consumers on target? Default=false +[max-hops](clusters.md "Chapter 38. Clusters") | maximum number of hops cluster topology is propagated. Default=1 +[confirmation-window-size](client-reconnection.md "Chapter 34. Client Reconnection and Session Reattachment")| The size (in bytes) of the window used for confirming data from the server connected to. Default 1048576 +[call-failover-timeout](clusters.md "38.3.1. Configuring Cluster Connections") | How long to wait for a reply if in the middle of a fail-over. -1 means wait forever. Default -1 +[notification-interval](clusters.md "Chapter 38. Clusters") | how often the cluster connection will notify the cluster of its existence right after joining the cluster. Default 1000 +[notification-attempts](clusters.md "Chapter 38. Clusters") | how many times this cluster connection will notify the cluster of its existence right after joining the cluster Default 2 + + + +#discovery-group configuration type + +Name | Description +:--- | :--- +[name](clusters.md "Chapter 38. Clusters") | unique name +[group-address](clusters.md "Chapter 38. Clusters") | Multicast IP address of the group to listen on +[group-port](clusters.md "Chapter 38. Clusters") | UDP port number of the multi cast group +[jgroups-file](clusters.md) | Name of a JGroups configuration file. If specified, the server uses JGroups for discovery. +[jgroups-channel](clusters.md) | Name of a JGroups Channel. If specified, the server uses the named channel for discovery. +[refresh-timeout]() | Period the discovery group waits after receiving the last broadcast from a particular server before removing that servers connector pair entry from its list. Default=10000 +[local-bind-address](clusters.md "Chapter 38. Clusters") | local bind address that the datagram socket is bound to +[local-bind-port](clusters.md "Chapter 38. Clusters") | local port to which the datagram socket is bound to. Default=-1 +[initial-wait-timeout]() | time to wait for an initial broadcast to give us at least one node in the cluster. Default=10000 + + +#divert configuration type + +Name | Description +:--- | :--- +[name](diverts.md "Chapter 35. Diverting and Splitting Message Flows") | unique name +[transformer-class-name](diverts.md "Chapter 35. Diverting and Splitting Message Flows") | an optional class name of a transformer +[exclusive](diverts.md "Chapter 35. Diverting and Splitting Message Flows") | whether this is an exclusive divert. Default=false +[routing-name](diverts.md "Chapter 35. Diverting and Splitting Message Flows") | the routing name for the divert +[address](diverts.md "Chapter 35. Diverting and Splitting Message Flows") | the address this divert will divert from +[forwarding-address](diverts.md "Chapter 35. Diverting and Splitting Message Flows") | the forwarding address for the divert +[filter](diverts.md "Chapter 35. Diverting and Splitting Message Flows")| optional core filter expression + + + +#queue configuration type + +Name | Description +:--- | :--- +[name ](queue-attributes.md "25.1. Predefined Queues") | unique name +[address](queue-attributes.md "25.1. Predefined Queues") | address for the queue +[filter](queue-attributes.md "25.1. Predefined Queues") | optional core filter expression +[durable](queue-attributes.md "25.1. Predefined Queues") | whether the queue is durable (persistent). Default=true + + + +#security-setting configuration type + +Name | Description +:--- | :--- +[match ](security.md "31.1. Role based security for addresses") | [address expression](wildcard-syntax.md) +[permission](security.md "31.1. Role based security for addresses") | +[permission.type ](security.md "31.1. Role based security for addresses") | the type of permission +[permission.roles ](security.md "31.1. Role based security for addresses") | a comma-separated list of roles to apply the permission to + +---------------------------- ##The jms configuration +Name | Type | Description +:--- | :--- | :--- +[queue](using-jms.md "7.2. JMS Server Configuration") | Queue | a queue +[queue.name (attribute)](using-jms.md "7.2. JMS Server Configuration") | String | unique name of the queue +[queue.durable](using-jms.md "7.2. JMS Server Configuration") | Boolean | is the queue durable?. Default=true +[queue.filter](using-jms.md "7.2. JMS Server Configuration") | String | optional filter expression for the queue +[topic](using-jms.md "7.2. JMS Server Configuration") | Topic | a topic +[topic.name (attribute)](using-jms.md "7.2. JMS Server Configuration") | String | unique name of the topic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Element NameElement TypeDescriptionDefault
queue - Queuea queue to create
queue.name - (attribute)Stringunique name of the queue
queue.durable - Booleanis the queue durable?true
queue.filter - Stringoptional filter expression for the queue
topic - Topica topic to create
topic.name - (attribute)Stringunique name of the topic
Using Masked Passwords in Configuration Files --------------------------------------------- @@ -1863,11 +304,11 @@ masking of its 'password' properties follows the same rules as that of The following table summarizes the relations among the above-mentioned properties - mask-password cluster-password acceptor/connector passwords bridge password - --------------- ------------------ ------------------------------ ----------------- - absent plain text plain text plain text - false plain text plain text plain text - true masked masked masked + mask-password | cluster-password | acceptor/connector passwords | bridge password + :------------- | :---------------- | :--------------------------- | :--------------- + absent | plain text | plain text | plain text + false | plain text | plain text | plain text + true | masked | masked | masked Examples @@ -1876,14 +317,18 @@ absent, it means they are not specified in the configure file. example 1 - bbc +```xml +bbc +``` This indicates the cluster password is a plain text value ("bbc"). example 2 - true - 80cf731af62c290 +```xml +true +80cf731af62c290 +``` This indicates the cluster password is a masked value and Apache ActiveMQ will use its built-in decoder to decode it. All other passwords in the @@ -1906,9 +351,11 @@ decode the masked password. Ignored if `useMaskedPassword` is false. The format of this property is a full qualified class name optionally followed by key/value pairs, separated by semi-colons. For example: -\true\ -\com.foo.FooDecoder;key=value\ +```xml +true +com.foo.FooDecoder;key=value +``` + Apache ActiveMQ will load this property and initialize the class with a parameter map containing the "key"-\>"value" pair. If `passwordCodec` is not specified, the built-in decoder is used. @@ -1928,16 +375,18 @@ format of this property is a full qualified class name optionally followed by key/value pairs. It is the same format as that for JMS Bridges. Example: - - UseMaskedPassword - boolean - true - - - PasswordCodec - java.lang.String - com.foo.ADecoder;key=helloworld - +```xml + + UseMaskedPassword + boolean + true + + + PasswordCodec + java.lang.String + com.foo.ADecoder;key=helloworld + +``` With this configuration, both passwords in ra.xml and all of its MDBs will have to be in masked form. @@ -1958,8 +407,10 @@ format of this property is a full qualified class name optionally followed by key/value pairs. It is the same format as that for JMS Bridges. Example: - true - org.apache.activemq.utils.DefaultSensitiveStringCodec;key=hello world +```xml +true +org.apache.activemq.utils.DefaultSensitiveStringCodec;key=hello world +``` When so configured, the Apache ActiveMQ security manager will initialize a DefaultSensitiveStringCodec with the parameters "key"-\>"hello world", @@ -1987,11 +438,15 @@ to encrypt (encode) a plaintext password and decrypt a mask string using same algorithm. Using this decoder/encoder is pretty straightforward. To get a mask for a password, just run the following in command line: +```sh java org.apache.activemq.utils.DefaultSensitiveStringCodec "your plaintext password" +``` Make sure the classpath is correct. You'll get something like +``` Encoded password: 80cf731af62c290 +``` Just copy "80cf731af62c290" and replace your plaintext password with it. @@ -2001,18 +456,24 @@ It is possible to use a different decoder rather than the built-in one. Simply make sure the decoder is in Apache ActiveMQ's classpath and configure the server to use it as follows: +```xml com.foo.SomeDecoder;key1=value1;key2=value2 +``` If your decoder needs params passed to it you can do this via key/value pairs when configuring. For instance if your decoder needs say a "key-location" parameter, you can define like so: +```xml com.foo.NewDecoder;key-location=/some/url/to/keyfile +``` Then configure your cluster-password like this: +```xml true masked_password +``` When Apache ActiveMQ reads the cluster-password it will initialize the NewDecoder and use it to decode "mask\_password". It also process all @@ -2025,29 +486,33 @@ from existing libraries or you implement it yourself. All decoders must implement the `org.apache.activemq.utils.SensitiveDataCodec` interface: - public interface SensitiveDataCodec - { - T decode(Object mask) throws Exception; +``` java +public interface SensitiveDataCodec +{ + T decode(Object mask) throws Exception; - void init(Map params); - } + void init(Map params); +} +``` This is a generic type interface but normally for a password you just need String type. So a new decoder would be defined like - public class MyNewDecoder implements SensitiveDataCodec - { - public String decode(Object mask) throws Exception - { - //decode the mask into clear text password - return "the password"; - } +```java +public class MyNewDecoder implements SensitiveDataCodec +{ + public String decode(Object mask) throws Exception + { + //decode the mask into clear text password + return "the password"; + } - public void init(Map params) - { - //initialization done here. It is called right after the decoder has been created. - } - } + public void init(Map params) + { + //initialization done here. It is called right after the decoder has been created. + } +} +``` Last but not least, once you get your own decoder, please add it to the classpath. Otherwise Apache ActiveMQ will fail to load it! diff --git a/docs/user-manual/en/message-expiry.md b/docs/user-manual/en/message-expiry.md index 8f81b83a38..bc8dca139d 100644 --- a/docs/user-manual/en/message-expiry.md +++ b/docs/user-manual/en/message-expiry.md @@ -53,7 +53,7 @@ Expiry address are defined in the address-setting configuration: If messages are expired and no expiry address is specified, messages are simply removed from the queue and dropped. Address wildcards can be used -to configure expiry address for a set of addresses (see [Understanding the HornetQ Wildcard Syntax](wildcard-syntax.md)). +to configure expiry address for a set of addresses (see [Understanding the Wildcard Syntax](wildcard-syntax.md)). ## Configuring The Expiry Reaper Thread diff --git a/docs/user-manual/en/persistence.md b/docs/user-manual/en/persistence.md index bf59939dd5..dff1bb0db6 100644 --- a/docs/user-manual/en/persistence.md +++ b/docs/user-manual/en/persistence.md @@ -124,7 +124,7 @@ situations. This is discussed in [Paging](paging.md). If no persistence is required at all, Apache ActiveMQ can also be configured not to persist any data at all to storage as discussed in the Configuring -HornetQ for Zero Persistence section. +the broker for Zero Persistence section. ## Configuring the bindings journal diff --git a/docs/user-manual/en/rest.md b/docs/user-manual/en/rest.md index 36fadb68de..a29e8e0c4b 100644 --- a/docs/user-manual/en/rest.md +++ b/docs/user-manual/en/rest.md @@ -1385,48 +1385,17 @@ role your own security by specifying security constraints with your web.xml for every path of every queue and topic you have deployed. Here is a list of URI patterns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/queues secure the POST operation to secure queue creation
/queues/{queue-name}secure the GET HEAD operation to getting information about the queue.
/queues/{queue-name}/create/\* secure this URL pattern for producing messages.
/queues/{queue-name}/pull-consumers/\*secure this URL pattern for pushing messages.
/queues/{queue-name}/push-consumers/\*secure the POST operation to secure topic creation
/topicssecure the POST operation to secure topic creation
/topics/{topic-name}secure the GET HEAD operation to getting information about the topic.
/topics/{topic-name}/create/\*secure this URL pattern for producing messages.
/topics/{topic-name}/pull-subscriptions/\*secure this URL pattern for pulling messages.
/topics/{topic-name}/push-subscriptions/\*secure this URL pattern for pushing messages.
+Post | Description + --- | --- + /queues | secure the POST operation to secure queue creation + /queues/{queue-name}/create/ | secure this URL pattern for producing messages. + /queues/{queue-name}/pull-consumers/ | secure this URL pattern for pushing messages. + /queues/{queue-name}/push-consumers/ | secure the POST operation to secure topic creation + /topics | secure the POST operation to secure topic creation + /topics/{topic-name} | secure the GET HEAD operation to getting information about the topic. + /topics/{topic-name}/create/ | secure this URL pattern for producing messages + /topics/{topic-name}/pull-subscriptions/ | secure this URL pattern for pulling messages + /topics/{topic-name}/push-subscriptions/ | secure this URL pattern for pushing messages ## Mixing JMS and REST @@ -1463,10 +1432,12 @@ If you have a REST client producing messages and a JMS consumer, Apache ActiveMQ REST has a simple helper class for you to transform the HTTP body to a Java object. Here's some example code: - public void onMessage(Message message) - { - MyType obj = org.apache.activemq.rest.Jms.getEntity(message, MyType.class); - } +```java +public void onMessage(Message message) +{ + MyType obj = org.apache.activemq.rest.Jms.getEntity(message, MyType.class); +} +``` The way the `getEntity()` method works is that if the message is an ObjectMessage, it will try to extract the desired type from it like any diff --git a/docs/user-manual/en/security.md b/docs/user-manual/en/security.md index 8998ba4a93..8141d15658 100644 --- a/docs/user-manual/en/security.md +++ b/docs/user-manual/en/security.md @@ -67,7 +67,7 @@ Let's take a simple example, here's a security block from The '`#`' character signifies "any sequence of words". Words are delimited by the '`.`' character. For a full description of the wildcard -syntax please see [Understanding the HornetQ Wildcard Syntax](wildcard-syntax.md). +syntax please see [Understanding the Wildcard Syntax](wildcard-syntax.md). The above security block applies to any address that starts with the string "globalqueues.europe.": diff --git a/docs/user-manual/en/tools.md b/docs/user-manual/en/tools.md index ae5ffe7316..1df2324548 100644 --- a/docs/user-manual/en/tools.md +++ b/docs/user-manual/en/tools.md @@ -12,7 +12,9 @@ by eliminating the need so specify a classpath. These tools are: the bindings and message journals are stored, respectively. For example: - java -jar activemq-tools--jar-with-dependencies.jar print-data /home/user/activemq/data/bindings /home/user/activemq/data/journal +```sh +java -jar activemq-tools--jar-with-dependencies.jar print-data /home/user/activemq/data/bindings /home/user/activemq/data/journal +``` - **`print-pages`**. Used for low-level inspection of paged message data. It takes two parameters - `paging-directory` and @@ -20,7 +22,9 @@ by eliminating the need so specify a classpath. These tools are: paged messages and the message journals are stored, respectively. For example: - java -jar activemq-tools--jar-with-dependencies.jar print-pages /home/user/activemq/data/paging-directory /home/user/activemq/data/journal +```sh +java -jar activemq-tools--jar-with-dependencies.jar print-pages /home/user/activemq/data/paging-directory /home/user/activemq/data/journal +``` - **`export`**. Used for exporting all binding and message data (including paged and large messages) as well as JMS destinations and @@ -39,8 +43,9 @@ by eliminating the need so specify a classpath. These tools are: directory. Here's an example: - - java -jar activemq-tools--jar-with-dependencies.jar export /home/user/activemq/data/bindings-directory /home/user/activemq/data/journal-directory /home/user/activemq/data/paging-directory /home/user/activemq/data/large-messages +``` +java -jar activemq-tools--jar-with-dependencies.jar export /home/user/activemq/data/bindings-directory /home/user/activemq/data/journal-directory /home/user/activemq/data/paging-directory /home/user/activemq/data/large-messages +``` This tool will export directly to standard out so if the data needs to be stored in a file please redirect as appropriate for the @@ -78,7 +83,9 @@ by eliminating the need so specify a classpath. These tools are: Here's an example: - java -jar activemq-tools--jar-with-dependencies.jar import /home/user/exportData.xml 127.0.0.1 61616 false false + ```sh + java -jar activemq-tools--jar-with-dependencies.jar import /home/user/exportData.xml 127.0.0.1 61616 false false + ``` Like the `export` tool the `import` tool is single threaded so depending on the size of the XML file it may take awhile for the diff --git a/docs/user-manual/en/undelivered-messages.md b/docs/user-manual/en/undelivered-messages.md index ad7fa93f33..28110e2d94 100644 --- a/docs/user-manual/en/undelivered-messages.md +++ b/docs/user-manual/en/undelivered-messages.md @@ -73,7 +73,7 @@ Example: 6. Wait Delay Period: 15000 // (10000 * 2) > max-delay-period: Use max-delay-delivery Address wildcards can be used to configure redelivery delay for a set of -addresses (see [Understanding the HornetQ Wildcard Syntax](wildcard-syntax.md)), so you don't have to specify redelivery delay +addresses (see [Understanding the Wildcard Syntax](wildcard-syntax.md)), so you don't have to specify redelivery delay individually for each address. ### Example @@ -120,7 +120,7 @@ addresses and you can set `max-delivery-attempts` to -1 for a specific address setting to allow infinite redeliveries only for this address. Address wildcards can be used to configure dead letter settings for a -set of addresses (see [Understanding the HornetQ Wildcard Syntax](wildcard-syntax.md)). +set of addresses (see [Understanding the Wildcard Syntax](wildcard-syntax.md)). ### Dead Letter Properties diff --git a/docs/user-manual/en/using-jms.md b/docs/user-manual/en/using-jms.md index 1482ddd3e8..3212aaa6da 100644 --- a/docs/user-manual/en/using-jms.md +++ b/docs/user-manual/en/using-jms.md @@ -186,36 +186,15 @@ This can be changed by setting the type like so In this example it is still set to the default, below shows a list of types that can be set. #### Configuration for Connection Factory Types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
typeinterface
CF (default)javax.jms.ConnectionFactory
XA_CFjavax.jms.XAConnectionFactory
QUEUE_CFjavax.jms.QueueConnectionFactory
QUEUE_XA_CFjavax.jms.XAQueueConnectionFactory
TOPIC_CFjavax.jms.TopicConnectionFactory
TOPIC_XA_CFjavax.jms.XATopicConnectionFactory
+ +type | interface +--- |--- +CF (default) | javax.jms.ConnectionFactory +XA_CF | javax.jms.XAConnectionFactory +QUEUE_CF | javax.jms.QueueConnectionFactory +QUEUE_XA_CF | javax.jms.XAQueueConnectionFactory +TOPIC_CF | javax.jms.TopicConnectionFactory +TOPIC_XA_CF | javax.jms.XATopicConnectionFactory ### Destination JNDI