[CONF] Apache ActiveMQ > Apache ActiveMQ Board Report - 2021.04 (Apr)
Title: Message Title There's 1 new edit on this page Apache ActiveMQ Board Report - 2021.04 (Apr) Gary Tully edited this page Here's what changed: ... ActiveMQ 5.16.1 has been released on 2021-01-20 fixing CVE and issues on the 5.16.x series (5.16.x series is running compliant with JDK 9+) 5.15.15 release is in vote, fixing CVE (dependencies) and issues. We will probably announce that 5.15.15 will be the last release on the 5.15.x, inviting users to upgrade at least on 5.16.x. 5.16.2 release will be released soon. We have one issue to fix (the broker redelivery plugin doesn't work properly on 5.16.x) to fix before moving forward with the release. 5.17.x (main branch) is moving forward: we already have a PR allowing to fully build with JDK 11+. Couple of PRs are almost ready to upgrade to Spring 5.x and log4j2. JMS 2.x support (at least client side) and other new features will come soon as well. To give more visibility for the users, we discussed about renaming ActiveMQ (from "ActiveMQ classic" to something else, to clearly identify ActiveMQ and Artemis). This thread drives to a consensus to move forward on the website (documentation mostly). Some new features are in preparation as "PoC": replicated kahadb, improvements on the Karaf support, ... ActiveMQ Artemis ActiveMQ Artemis 2.17.0 has been released on 2021-02-11 ActiveMQ Artemis 2.18.0 to be released soon, with substantial improvements on Disaster and Recovery capabilities introduced as part of AMQP Broker Connections. it will be possible to have two or more broker synchronized, improving possibilities for failover scenarios. significant hardening work on OpenWire advisories and Virtual Topics, to support migrating users smart replica packet batching, on shared nothing replication; greatly improves performance of replication by saving network bandwidth. ActiveMQ NMS (.NET Clients) TODO ActiveMQ CMS (C++ Clients) TODO ... Go to page history View page Stop watching space • Manage notifications This message was sent by Atlassian Confluence 7.5.0
[CONF] Apache ActiveMQ > Apache ActiveMQ Board Report - 2021.04 (Apr)
Title: Message Title There's 1 new edit on this page Apache ActiveMQ Board Report - 2021.04 (Apr) Gary Tully edited this page Here's what changed: ... ActiveMQ 5.16.1 has been released on 2021-01-20 fixing CVE and issues on the 5.16.x series (5.16.x series is running compliant with JDK 9+) 5.15.15 release is in vote, fixing CVE (dependencies) and issues. We will probably announce that 5.15.15 will be the last release on the 5.15.x, inviting users to upgrade at least on 5.16.x. 5.16.2 release will be released soon. We have one issue to fix (the broker redelivery plugin doesn't work properly on 5.16.x) to fix before moving forward with the release. 5.17.x (main branch) is moving forward: we already have a PR allowing to fully build with JDK 11+. Couple of PRs are almost ready to upgrade to Spring 5.x and log4j2. JMS 2.x support (at least client side) and other new features will come soon as well. To give more visibility for the users, we discussed about renaming ActiveMQ (from "ActiveMQ classic" to something else, to clearly identify ActiveMQ and Artemis). This thread drives to a consensus to move forward on the website (documentation mostly). Some new features are in preparation as "PoC": replicated kahadb, improvements on the Karaf support, ... ActiveMQ Artemis ActiveMQ Artemis 2.17.0 has been released on 2021-02-11 ActiveMQ Artemis 2.18.0 to be released soon, with substantial improvements on Disaster and Recovery capabilities introduced as part of AMQP Broker Connections. it will be possible to have two or more broker synchronized improving possibilities for failover scenarios. significant hardening work on OpenWire advisories and Virtual Topics, to support migrating users ActiveMQ NMS (.NET Clients) TODO ActiveMQ CMS (C++ Clients) TODO ... Go to page history View page Stop watching space • Manage notifications This message was sent by Atlassian Confluence 7.5.0
[CONF] Apache ActiveMQ > Apache ActiveMQ Board Report - 2020.10 (Oct)
Title: Message Title There's 1 new edit on this page Apache ActiveMQ Board Report - 2020.10 (Oct) Gary Tully edited this page Here's the version comment Gary Tully edited at 09:19 AM little update on Client Tools Here's what changed: ... ActiveMQ ActiveMQ 5.16.0 has been released, which is an important milestone for the project as it fully supports JDK 9+ at runtime Working on full JDK 9+ support at build time now Spring 5 update is on the way New cloud friendly PoC started ActiveMQ Artemis TODO ActiveMQ Other TODO ... Client Tools Support for migrating existing Openwire virtual topic subscription queues to ActiveMQ Artemis Releases ActiveMQ Client Tools 0.2.0 released To be pulled from Reporter ... Go to page history View page Stop watching space • Manage notifications This message was sent by Atlassian Confluence 7.5.0
[CONF] Apache ActiveMQ > KahaDB
Title: Message Title There's 1 new edit on this page KahaDB Gary Tully edited this page Here's the version comment Gary Tully edited at 02:43 PM cleanupOnStop Here's what changed: ... Property Default Comments archiveCorruptedIndex false If true, corrupted indexes found at startup will be archived (not deleted). archiveDataLogs false If true, will move a message data log to the archive directory instead of deleting it. checkForCorruptJournalFiles false If true, will check for corrupt journal files on startup and try and recover them. checkpointInterval 5000 Time (ms) before check-pointing the journal. checksumJournalFiles true Create a checksum for a journal file. The presence of a checksum is required in order for the persistence adapter to be able to detect corrupt journal files. Before ActiveMQ 5.9.0: the default is false. cleanupInterval 3 The interval (in ms) between consecutive checks that determine which journal files, if any, are eligible for removal from the message store. An eligible journal file is one that has no outstanding references. compactAcksAfterNoGC 10 From ActiveMQ 5.14.0: when the acknowledgement compaction feature is enabled this value controls how many store GC cycles must be completed with no other files being cleaned up before the compaction logic is triggered to possibly compact older acknowledgements spread across journal files into a new log file. The lower the value set the faster the compaction may occur which can impact performance if it runs to often. compactAcksIgnoresStoreGrowth false From ActiveMQ 5.14.0: when the acknowledgement compaction feature is enabled this value controls whether compaction is run when the store is still growing or if it should only occur when the store has stopped growing (either due to idle or store limits reached). If enabled the compaction runs regardless of the store still having room or being active which can decrease overall performance but reclaim space faster. concurrentStoreAndDispatchQueues true Enable the dispatching of Queue messages to interested clients to happen concurrently with message storage. concurrentStoreAndDispatchTopics false Enable the dispatching of Topic messages to interested clients to happen concurrently with message storage Warning Enabling this property is not recommended. directory activemq-data The path to the directory to use to store the message store data and log files. directoryArchive null Define the directory to move data logs to when they all the messages they contain have been consumed. enableAckCompaction true From ActiveMQ 5.14.0: this setting controls whether the store will perform periodic compaction of older journal log files that contain only Message acknowledgements. By compacting these older acknowledgements into new journal log files the older files can be removed freeing space and allowing the message store to continue to operate without hitting store size limits. enableIndexWriteAsync false If true, the index is updated asynchronously. enableJournalDiskSyncs true Ensure every journal write is followed by a disk sync (JMS durability requirement). Warning This property is deprecated as of ActiveMQ 5.14.0. From ActiveMQ 5.14.0: see journalDiskSyncStrategy. ignoreMissingJournalfiles false If true, reports of missing journal files are ignored. indexCacheSize 1 Number of index pages cached in memory. indexDirectory From ActiveMQ 5.10.0: If set, configures where the KahaDB index files (db.data and db.redo) will be stored. If not set, the index files are stored in the directory specified by the directory attribute. indexWriteBatchSize 1000 Number of indexes written in a batch. journalDiskSyncInterval 1000 Interval (ms) for when to perform a disk sync when journalDiskSyncStrategy=periodic. A sync will only be performed if a write has occurred to the journal since the last disk sync or when the journal rolls over to a new journal file. journalDiskSyncStrategy always From ActiveMQ 5.14.0: this setting configures the disk sync policy. The list of available sync strategies are (in order of decreasing safety, and increasing performance): always Ensure every journal write is
[CONF] Apache ActiveMQ > Configuring Transports
Title: Message Title There's 1 new edit on this page Configuring Transports Gary Tully edited this page Here's the version comment Gary Tully edited at 09:36 AM obsolete enableStatusMonitor Here's what changed: ... property name default description allowLinkStealing false This is enabled for default for MQTT transport. Link Stealing is where the last of two or more connections with the same id (clientID for JMS) is deemed the valid connection and the older one is closed by the broker. discoveryURI null If set, the multicast discovery address for client connections to find the broker. enableStatusMonitor falseWill monitor connections to determine if they are blocked. Obsolete - replaced with the InactivityMonitor functionality name null The name of the TransportConnector instance. rebalanceClusterClients false Will automatically re-balance clients across the cluster on changes of topology. updateClusterClients false If enabled, will update client connections (if they use the failover:// transport) of changes to the broker cluster. updateClusterClientsOnRemove false Will update clients if a broker is removed from the cluster. updateClusterFilter null Comma separated list of regular expressions. Brokers with a name matching the pattern will be included for client updates. uri null The bind address for the transport. warnOnRemoteClose false If set, issue a WARN log event if a client closes its connection in an abrupt manner, one example being a load-balancer health check. For a regular JMS client this WARN message is indicative of a client going away without a connection.close (5.16) ... Code Block language xml enableStatusMonitor="true"/> ... Go to page history View page Stop watching space • Manage notifications This message was sent by Atlassian Confluence 6.9.0
[CONF] Apache ActiveMQ > Configuring Transports
Title: Message Title There's 1 new edit on this page Configuring Transports Gary Tully edited this page Here's what changed: ... property name default description allowLinkStealing false This is enabled for default for MQTT transport. Link Stealing is where the last of two or more connections with the same id (clientID for JMS) is deemed the valid connection and the older one is closed by the broker. discoveryURI null If set, the multicast discovery address for client connections to find the broker. enableStatusMonitor false Will monitor connections to determine if they are blocked. name null The name of the TransportConnector instance. rebalanceClusterClients false Will automatically re-balance clients across the cluster on changes of topology. updateClusterClients false If enabled, will update client connections (if they use the failover:// transport) of changes to the broker cluster. updateClusterClientsOnRemove false Will update clients if a broker is removed from the cluster. updateClusterFilter null Comma separated list of regular expressions. Brokers with a name matching the pattern will be included for client updates. uri null The bind address for the transport. ... warnOnRemoteClose false If set, issue a WARN log event if a client closes its connection in an abrupt manner, one example being a load-balancer health check. For a regular JMS client this WARN message is indicative of a client going away without a connection.close (5.16) Example configuration: Code Block language xml ... Go to page history View page Stop watching space • Manage notifications This message was sent by Atlassian Confluence 6.9.0
[CONF] Apache ActiveMQ > Message Redelivery and DLQ Handling
Title: Message Title There's 1 new edit on this page Message Redelivery and DLQ Handling Gary Tully edited this page Here's the version comment Gary Tully edited at 09:02 AM remove incorrect ref to BrokerInfo Here's what changed: ... A transacted session is used and rollback() is called. A transacted session is closed before commit() is called. A session is using CLIENT_ACKNOWLEDGE and Session.recover() is called. A client connection times out (perhaps the code being executed takes longer than the configured time-out period). The broker transmits the default delivery policy that he prefers to a client connection in his BrokerInfo command packet. But the client A client can override the policy settings by using the ActiveMQConnection.getRedeliveryPolicy() method or ActiveMQConnectionFactory.getRedeliveryPolicyMap() methods: Code Block java java RedeliveryPolicy policy = connection.getRedeliveryPolicy(); policy.setInitialRedeliveryDelay(500); policy.setBackOffMultiplier(2); policy.setUseExponentialBackOff(true); policy.setMaximumRedeliveries(2); ... Go to page history View page Stop watching space • Manage notifications This message was sent by Atlassian Confluence 6.9.0
[CONF] Apache ActiveMQ > Virtual Destinations
Title: Message Title Gary Tully edited a page Virtual Destinations ... Option Default Description selectorAware false only messages that match one of the existing subscribers are actually dispatched. Using this option prevents the build up of unmatched messages when selectors are used by exclusive consumers local false when true, don't fan out messages that were received over a network concurrentSend false when true, use an executor to fanout such that sends occur in parallel. This allows the journal to batch writes which will reduce disk io (5.12) transactedSend false when true, use a transaction for fanout sends such that there is a single disk sync. A local broker transaction will be created if there is no client transaction (5.13) dropOnResourceLimit false when true, ignore any ResourceAllocationException thrown during fanout (see: sendFailIfNoSpace policy entry) (5.16) setOriginalDestination true when true, the destination on the forwarded message is set to the consumer queue and the originalDestination message property tracks the virtual topic (5.16) VirtualSelectorCacheBrokerPlugin ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Virtual Destinations
Title: Message Title Gary Tully edited a page Change comment: VirtualSelectorCacheBrokerPlugin Virtual Destinations ... Option Default Description selectorAware false only messages that match one of the existing subscribers are actually dispatched. Using this option prevents the build up of unmatched messages when selectors are used by exclusive consumers local false when true, don't fan out messages that were received over a network concurrentSend false when true, use an executor to fanout such that sends occur in parallel. This allows the journal to batch writes which will reduce disk io (5.12) transactedSend false when true, use a transaction for fanout sends such that there is a single disk sync. A local broker transaction will be created if there is no client transaction (5.13) dropOnResourceLimit false when true, ignore any ResourceAllocationException thrown during fanout (see: sendFailIfNoSpace policy entry) (5.16) VirtualSelectorCacheBrokerPlugin When selectorAware=true, only active consumers are condidered for selector matching. If consumers disconnect and reconnect they will miss messages. The intent of selectorAware=true is to not have messages build up. The virtualSelectorCacheBrokerPlugin provides a cache that tracks the selectors associated with a destination by a consumers such that they can apply in the absense of that consumer. In this way the just the selected messages build up. The existing set of selectors can be persisted such that it can be recovered on restart. the plugin is applied in the normal way to the plugins section. Code Block Note: the persistFile option uses java serialisation that should be locked down with an appropriate jdk.serialFilter that allows ConcurrentHashMap Composite Destinations Composite Destinations allow for one-to-many relationships on individual destinations; the main use case is for composite queues. For example when a message is sent to queue A you may want to forward it also to queues B and C and topic D. Composite destinations are then a mapping from a virtual destination to a collection of other physical destinations. In this case the mapping is broker side and the client is unaware of the mapping between the destinations. This is different from client side Composite Destinations where the client uses a URL notation to specify the actual physical destinations that a message must be sent to. ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Networks of Brokers
Title: Message Title Gary Tully edited a page Change comment: selectorAware attribute in 5.16 Networks of Brokers ... N.B. You can only use wildcards in the excludedDestinations and dynamicallyIncludedDestinations properties. N.B. Do not change the name of the bridge or the name of the Broker if you are using durable topic subscribers across the network. Internally ActiveMQ uses the network name and broker name to build a unique but repeatable durable subscriber name for the network. Stuck Messages ... By default, it is not permissible for a message to be replayed back to the broker from which it came. This ensures that messages do not loop when duplex or by directional network connectors are configured. Occasionally it is desirable to allow replay for queues. Consider a scenario where a bidirectional bridge exists between a broker pair. Producers and Consumers get to randomly choose a broker using the failover transport. If one broker is restarted for maintenance, messages accumulated on that broker, that crossed the network bridge, will not be available to consumers till they reconnect to the broker. One solution to this problem is to force a client reconnect using rebalanceClusterClients. Another, is to allow replay of messages back to the origin as there is no local consumer on that broker. From version 5.16.0, using selectorAware=true the replay can occur if there are no local consumers who's selectors match the target message. There is a destination policy that allows this behavior for queues by configuring a conditionalNetworkBridgeFilterFactory with replayWhenNoConsumers=true. The conditionalNetworkBridgeFilterFactory provides an optional replayDelay based on the broker-in time. ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Support
Title: Message Title Gary Tully edited a page Support ... Which version of ActiveMQ What platform of Java (e.g., Java SE 6 with JRE/JDK 1.6.0 or J2SE 5 with JRE/JDK 1.5.0) Any particular application/web server or container being used - if so what version? Stack traces generally really help! If in doubt include the whole thing; often exceptions get wrapped in other exceptions and the exception right near the bottom explains the actual error, not the first few lines at the top. It's very easy for us to skim-read past unnecessary parts of a stack trace. Log output (e.g., data/activemq.log) can be useful too; sometimes enabling DEBUG logging can help Your code & configuration files are often useful ... apifocal is a Professional Services company. Headquartered near Washington, DC, USA, APIfocal provides consulting and training for leveraging the Apache Integration stack and commercial ESBs at large scale, adding automation and devops capabilities. Media Driver provides consulting services and management tools for Apache ActiveMQ and the Apache Integration stack for both the commercial and public sector. We bring a full suite of project delivery services including business and technical analysis, proof of concepts, architectural guidance, best practice integration, and project management. Media Driver offers training classes for developers and administrators, as well as middleware management software. Rogue Wave / OpenLogic has a dedicated team of OSS experts offering round-the-clock Production Support with competitive SLAs for troubleshooting ActiveMQ issues and outages. Rogue Wave offers a comprehensive week-long instructor-led training program for developers and admins. Rogue Wave OpenLogic also provides Architecture and Design Consulting, and a Developer Support contract to assist in the development of messaging applications. Red Hat offers JBoss A-MQ, a supported distribution of Apache ActiveMQ and Apache ActiveMQ Artemis, that include Enterprise Developer and Production Support, and offer training and consultancy for enterprise deployments. Savoir Technologies, Inc provides enterprise consulting, training and support for ActiveMQ and a host of other Apache service containers. Savoir can provide best practice mentoring for developing with ActiveMQ, as well as architectural/design reviews, troubleshooting and SOA infrastructure implementations. Savoir's staff includes some of the contributors of ActiveMQ who are on the ground consulting and are familiar with real world implementations and issues. Total Transaction Management (TTM) provides ActiveMQ consulting and support, as well as security and monitoring add-on products and reference guide for ActiveMQ. Tomitribe are experts in Tomcat and ActiveMQ integration, champions of Open Source and Java EE. Tomitribe offers consulting, training and support for TomEE, Tomcat, ActiveMQ, CXF and more. TytoEASE offers support, consulting and training on enterprise ready open source projects including ActiveMQ. Support offerings are at three levels with guaranteed SLA's. The company's consulting work is short term to help troubleshoot, fine-tune, do architectural reviews or help with initial design. TytoEASE's focus is on the Enterprise with how customers integrate open source with their current technologies. View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Virtual Destinations
Title: Message Title Gary Tully edited a page Virtual Destinations ... Here is an example of how to exclude virtual topic consumer queues from a default network bridge that will forward all queues and topics: tcp://localhost:61617)"> ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Virtual Destinations
Title: Message Title Gary Tully edited a page Virtual Destinations ... Here is an example of how to do that with a exclude virtual topic consumer queues from a default network bridge that will forward all queues and topics by default: tcp://localhost:61617)"> ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Virtual Destinations
Title: Message Title Gary Tully edited a page Change comment: enforce the either or choice on bridging for vt Virtual Destinations ... Avoiding Duplicate Message in a Network of Brokers You have to make sure that the messages sent to the Consumer.*.VirtualTopic.> destination are not forwarded when you're using both queue-based and non-queue based subscribers to the virtual topic (that is, if you have normal topic subscribers to the virtual topic). If you use Virtual Topics in a network of brokers, it is likely you will get duplicate messages if you use the default network configuration. This is because a network node will not only forward message sent to the virtual topic, but also the associated physical queues. To fix this, you should disable forwarding messages on the associated physical queues.TLDR: bridge consumer queues or virtual topics, not both. Typically you would network consumer queues. In this case it is important to not bridge any normal topic consumer on the virtual topic because any forwarded message would again get fanned out to consumer queues on the networked broker, leading to duplicates. It is also possible to bridge the virtual topic in which case it is necessary exclude the consumer queues from any network connector configuration. Here is an example of how to do that with a network bridge that will forward all queues and topics by default: tcp://localhost:61617)"> ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > JMX
Title: Message Title Gary Tully edited a page Change comment: note on rmiServerPort JMX ... Property Name Default Value Description useMBeanServer true If true then it avoids creating a new MBean server if a MBeanServer has already been created in the JVM jmxDomainName org.apache.activemq The jmx domain that all objects names will use createMBeanServer true If we should create the MBeanServer is none is found. createConnector false Please refer to Java Management guide to configure the server for remote management and . Note: if set to true: lock down the endpoint serialisation with an appropriate jdk.serialFilter configure rmiServerPort and connectorHost to lock down the RMI server interface binding connectorPort 1099 The port that the JMX connector will use connectorHost localhost The host that the JMX connector and RMI server (if rmiServerPort>0) will use rmiServerPort 0 The RMI server port, handy if port usage needs to be restricted behind a firewall connectorPath /jmxrmi The path that JMX connector will be registered under findTigerMBeanServer true Enables/disables the searching for the Java 5 platform MBeanServer suppressMBean List of MBean name patters to ignore View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > JMX
Title: Message Title Gary Tully edited a page JMX ... Property Name Default Value Description useMBeanServer true If true then it avoids creating a new MBean server if a MBeanServer has already been created in the JVM jmxDomainName org.apache.activemq The jmx domain that all objects names will use createMBeanServer true If we should create the MBeanServer is none is found. createConnector false Please refer to Java Management guide to configure the server for remote management and lock down the endpoint serialisation with an appropriate jdk.serialFilter connectorPort 1099 The port that the JMX connector will use connectorHost localhost The host that the JMX connector and RMI server (if rmiServerPort>0) will use rmiServerPort 0 The RMI server port, handy if port usage needs to be restricted behind a firewall connectorPath /jmxrmi The path that JMX connector will be registered under findTigerMBeanServer true Enables/disables the searching for the Java 5 platform MBeanServer suppressMBean List of MBean name patters to ignore View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > JMX
Title: Message Title Gary Tully edited a page Change comment: add ref to the java management guide for remote jmx access JMX ... Apache ActiveMQ has extensive support for JMX to allow you to monitor and control the behavior of the broker via the JMX MBeans. AMQ Version >= 5.8.0 The MBean naming documented here applies to the 5.8.0 and later versions of ActiveMQ. Earlier versions of ActiveMQ used a variation of the naming; most, if not all, of the objects, attributes, and operations exist in those earlier versions, but the naming has changed. Using JMX to monitor Apache ActiveMQ ... 2. Run a JMX console Code Block $ jconsole 3. Connect to the given JMX URL: The ActiveMQ broker should appear in the list of local connections, if you are running JConsole on the same host as ActiveMQ. To connect to a remote ActiveMQ instance, or if the local process does not show up, use Remote Process option, and enter an URL. Here is an example localhost URL: Code Block service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi Info ActiveMQ logs the JMX url at INFO level during startup. JMX remote access Remote connections to JMX are not enabled by default in the activemq.xml for security reasons. Please refer to Java Management guide to configure the broker for remote management. Using the Apache ActiveMQ version on OS X it appears as follows: ... And you will be forced to login. Advanced JMX Configuration The activemq.xml configuration file allows you to configure how ActiveMQ is exposed to JMX for management. In some cases, you may need to tweak some of it's settings such as what port is used. Example: Code Block In 4.0.1 or later, on Java 1.5 or later we try and use the default platform MBeanServer (so that things like the JVM threads & memory settings are visible). If you wish to change the Java 5 JMX settings you can use various JMX system properties For example you can enable remote JMX connections to the Sun JMX connector, via setting the following environment variable (using set or export depending on your platform). These settings only configure the Sun JMX connector within Java 1.5+, not the JMX connector that ActiveMQ creates by default. Code Block ACTIVEMQ_SUNJMX_START=-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1616 \ -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false (The ACTIVEMQ_SUNJMX_START environment variable is simple used by the "activemq" startup script, as additional startup parameters for java. If you start ActiveMQ directly, you'll have to pass these parameters yourself.) Selective MBean registration In situations where you need to scale your broker to large number of connections, destinations and consumers it can become very expensive to keep JMX MBeans for all those objects. Instead of turning off JMX completely, starting with 5.12.0, you can selectively suppress registration of some types of MBeans and thus help your broker scale, while still having a basic view of the broker state. ... Property Name Default Value Description useMBeanServer true If true then it avoids creating a new MBean server if a MBeanServer has already been created in the JVM jmxDomainName org.apache.activemq The jmx domain that all objects names will use createMBeanServer true If we should create the MBeanServer is none is found. createConnector true If we should create a JMX connector (to allow remote management) for the MBeanServerfalse Please refer to Java Management guide to configure the server for remote management connectorPort 1099 The port that the JMX connector will use connectorHost localhost The host that the JMX connector and RMI server (if rmiServerPort>0) will use rmiServerPort 0 The RMI server port, handy if port usage needs to be restricted behind a firewall connectorPath /jmxrmi The path that JMX connector will be registered under findTigerMBeanServer true Enables/disables the searching for the Java 5 platform MBeanServer suppressMBean List of MBean name patters to ignore View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Message Groups
Title: Message Title Gary Tully edited a page Message Groups ... As the appropriate test case shows, adding a small time pause before dispatching or setting a minimum consumer number, ensures equal message group distribution. Note title Availability Available since version 5.3 Competing demands of memory consumption, load balancing, complexity, etc. The default behavior which is limited to 1024 message groups in an LRU cache may not match you expectation w.r.t message order... some detail to explain: MessageGroupHashBucket and SimpleMessageGroupMap message groups work by associating each group with a consumer. SimpleMessageGroupMap keeps track of every group but suffers from unbounded memory use. MessageGroupHashBucked keeps track of every group and has bounded memory use. CachedMessageGroupMap has bounded memory use, but only keeps track of up to 1024 (or the maximum configured size) groups, then loses track of any groups older than the newest 1024. In this way, if there are more groups than the maximum, ordering will be lost for the oldest groups. Typically users would close groups such that the in memory set can be retained below the configured limits. Some usefull discussion at [ JIRA server ASF JIRA serverId 5aa69414-a9e9-3523-82ec-879b028fb15b key AMQ-6851 ] See How do Message Groups compare to Selectors View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Per Destination Policies
Title: Message Title Gary Tully edited a page Per Destination Policies ... The following are examples of different policies that can be customized on a per destination basis: Dispatch Policies An example from the demos https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=assembly/src/release/examples/conf/activemq-demo.xml;hb=HEAD:< bean class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" /> < broker persistent = "false" brokerName = "${brokername}" xmlns = "http://activemq.apache.org/schema/core" > < destinationPolicy > < policyMap > < policyEntries > < policyEntry topic="FOO.>"> < dispatchPolicy > < roundRobinDispatchPolicy /> dispatchPolicy > < subscriptionRecoveryPolicy > < lastImageSubscriptionRecoveryPolicy /> subscriptionRecoveryPolicy > policyEntry > < policyEntry topic="ORDERS.>"> < dispatchPolicy > < strictOrderDispatchPolicy /> dispatchPolicy > < subscriptionRecoveryPolicy > < timedSubscriptionRecoveryPolicy recoverDuration = "6" /> subscriptionRecoveryPolicy > policyEntry > < policyEntry topic="PRICES.>"> < pendingMessageLimitStrategy > < constantPendingMessageLimitStrategy limit = "10" /> pendingMessageLimitStrategy > < subscriptionRecoveryPolicy > < timedSubscriptionRecoveryPolicy recoverDuration = "1" /> subscriptionRecoveryPolicy > policyEntry > < policyEntry tempTopic = "true" advisoryForConsumed = "true" /> < policyEntry tempQueue = "true" advisoryForConsumed = "true" /> policyEntries > policyMap > destinationPolicy > broker > beans > View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Virtual Destinations
Title: Message Title Gary Tully edited a page Virtual Destinations ... ... Note that making a topic virtual does add a small CPU overhead when sending messages to the topic but it is fairly small. Option Default Description selectorAware false only messages that match one of the existing subscribers are actually dispatched. Using this option prevents the build up of unmatched messages when selectors are used by exclusive consumers local false when true, don't fan out messages that were received over a network concurrentSend false when true, use an executor to fanout such that sends occur in parallel. This allows the journal to batch writes which will reduce disk io (5.12) transactedSend false when true, use a transaction for fanout sends such that there is a single disk sync. A local broker transaction will be created if there is no client transaction (5.13) dropOnResourceLimit false when true, ignore any ResourceAllocationException thrown during fanout (see: sendFailIfNoSpace policy entry) (5.16) Composite Destinations Composite Destinations allow for one-to-many relationships on individual destinations; the main use case is for composite queues. For example when a message is sent to queue A you may want to forward it also to queues B and C and topic D. Composite destinations are then a mapping from a virtual destination to a collection of other physical destinations. In this case the mapping is broker side and the client is unaware of the mapping between the destinations. This is different from client side Composite Destinations where the client uses a URL notation to specify the actual physical destinations that a message must be sent to. ... ... By default, subscribers cannot consume messages directly from a composite queue or topic - it is a logical construct only. Given the configuration above, subscribers can only consume messages from FOO and BAR; but not MY.QUEUE. ... ... Messages sent to IncomingOrders will all be copied and forwarded to Notifications, before being placed on the physical IncomingOrders queue for consumption by subscribers. ...... Avoiding Duplicate Message in a Network of Brokers ... ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Virtual Destinations
Title: Message Title Gary Tully edited a page Virtual Destinations ... You can configure this to use whatever naming convention you wish. The following example shows how to make all topics virtual topics. The example below is using the name > to indicate 'match all topics'. You could use this wildcard to apply different virtual topic policies in different hierarchies. ...... Note that making a topic virtual does add a small CPU overhead when sending messages to the topic but it is fairly small. ... The following example shows how to set up a element in the XML configuration so that when a message is sent to MY.QUEUE then it is really forwarded to the physical queue FOO and the topic BAR. ... ... By default, subscribers cannot consume messages directly from a composite queue or topic - it is a logical construct only. Given the configuration above, subscribers can only consume messages from FOO and BAR; but not MY.QUEUE. This behaviour can be altered to implement use cases such as watching a queue by sending the same messages to a notification topic (wire tapping), by setting the optionally set forwardOnly attribute to false. ... ... Messages sent to IncomingOrders will all be copied and forwarded to Notifications, before being placed on the physical IncomingOrders queue for consumption by subscribers. ... The following example shows how a message sent to the virtual destination MY.QUEUE will be forwarded to FOO and BAR if the selectors match ... ... Avoiding Duplicate Message in a Network of Brokers ... Here is an example of how to do that: ... ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Per Destination Policies
Title: Message Title Gary Tully edited a page Per Destination Policies ... Common Property Default Value Description advisoryForConsumed false Send an advisory message when a message is consumed by a client. advisoryForDelivery false Send an advisory message when a message is sent to a client. advisoryForFastProducers false Send an advisory message if a producer is deemed fast. advisoryForSlowConsumers false Send an advisory message if a consumer is deemed slow. advisoryWhenFull false Send an advisory message when a limit (memory, store, temp disk) is full. enableAudit true When true the broker will track duplicate messages. Duplicates can happen for non-persistent messages during failover. gcInactiveDestinations false Garbage collect inactive destinations. inactiveTimoutBeforeGC 5000 The timeout (in ms) after which a destination is considered inactive. includeBodyForAdvisory false Includes the body of the original message that triggered the advisory as part of the dataStructure field in the advisory message (where applicable). Normally the message body is cleared. maxBrowsePageSize 400 The maximum number of messages to page in from the store at one time for a browser. maxDestinations -1 (v5.12) If 0 or greater, sets the maximum number of destinations that can be created. This parameter is intended to limit the number of hierarchical destinations that can be created under a wildcard destination. maxPageSize 200 The maximum number of messages to page in from the store at one time. Increase this value to improve performance for queue destination's that contain grouped messages that are consumed by multiple concurrent consumers. memoryLimit n/a The memory limit (in bytes) of the destination's cursor. This memory limit is subordinate to the system level memory limit, as specified by the / attribute. There is no default for this value; it simply acts as a child to the overall broker memory until the broker memory is exhausted. Note: when this limit is specified the destination's cursorMemoryHighWaterMark will be applied against it and not the /> memory limit. minimumMessageSize 1024 For non-serialized messages (embedded broker) - the assumed size of the message used for memory usage calculation. Serialized messages use the serialized size as the basis for the memory calculation. prioritizedMessages false Persist message priority information. producerFlowControl true If true the broker will throttle (flow-control) the producer. Throttling is achieved either by withholding the producer's ACK or by raising a javax.jms.ResourceAllocationException (that's propagated back to the client) when local resources e.g., memory and/or storage, have been exhausted. If false excess messages will be written to the message store to prevent memory exhaustion. However, when the message store reaches capacity the producer will be throttled until resources are freed. slowConsumerStrategy null Sets the strategy for handling slow consumers. See AbortSlowConsumerStrategy. storeUsageHighWaterMark 100 The percentage (%) threshold of the / store limit which when exceeded causes a send to block. useCache true If true persistent messages are cached for fast retrieval from store. usePrefetchExtension true The prefetch extension is used when a message is delivered but not ACK'ed, such that the broker can dispatch another message, e.g., prefetch == 0, the idea being that there will always be prefetch number of messages pending. It also allows a transaction batch to exceed the prefetch value. sendFailIfNoSpace false (v5.16.0) If true, will cause a send to fail with a javax.jms.ResourceAllocationException when the destination has reached is resource limits (memory or storage) sendFailIfNoSpaceAfterTimeout 0 (v5.16.0) if > 0, will cause a send to fail with a javax.jms.ResourceAllocationException when the destination resource limits (memory or storage) remain exhausted for the configured duration in milliseconds Additional properties for a Queue ... The following are examples of different policies that can be customized on a per destination basis: Dispatch Policies Here is an example of this in use: ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Producer Flow Control
Title: Message Title Gary Tully edited a page Producer Flow Control ... The timeout is defined in milliseconds so the example above waits for three seconds before failing the send() operation with an exception to the client-side. The advantage of this property is that it will block for the configured amount of time instead of failing immediately or blocking indefinitely. This property offers not only an improvement on the broker-side, but also an improvement for the client so it can catch the exception, wait a bit and retry the send() operation. Starting in version 5.16.0 the sendFailIfNoSpace and sendFailIfNoSpaceAfterTimeout can be configured on a per destination basis via destination policies. Disabling Flow Control A common requirement is to disable flow control so that message dispatching continues until all available disk is used up by pending messages (whether persistent or non persistent messaging is configured). To do this enable Message Cursors. ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Configuring Wire Formats
Title: Message Title Gary Tully edited a page Configuring Wire Formats ... Parameter Name Default Value Description cacheEnabled true Should commonly repeated values be cached so that less marshaling occurs? cacheSize 1024 When cacheEnabled=true then this parameter is used to specify the number of values to be cached. maxInactivityDuration 3 The maximum inactivity duration (before which the socket is considered dead) in milliseconds. On some platforms it can take a long time for a socket to die. Therefore allow the broker to kill connections when they have been inactive for the configured period of time. Used by some transports to enable a keep alive heart beat feature. Inactivity monitoring is disabled when set to a value <= 0. maxInactivityDurationInitalDelay 1 The initial delay before starting inactivity checks. Yes, the word 'Inital' is supposed to be misspelled like that. maxFrameSize MAX_LONG Maximum allowed frame size. Can help help prevent OOM DOS attacks. sizePrefixDisabled false Should the size of the packet be prefixed before each packet is marshaled? stackTraceEnabled true Should the stack trace of exception that occur on the broker be sent to the client? tcpNoDelayEnabled true Does not affect the wire format, but provides a hint to the peer that TCP nodelay should be enabled on the communications Socket. tightEncodingEnabled true Should wire size be optimized over CPU usage? ... Example Configurations Java: ... ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616?wireFormat.cacheEnabled=false=false"); ... Spring: ... ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Configuring Wire Formats
Title: Message Title Gary Tully edited a page Configuring Wire Formats ... Parameter Name Default Value Description cacheEnabled true Should commonly repeated values be cached so that less marshaling occurs? cacheSize 1024 When cacheEnabled=true then this parameter is used to specify the number of values to be cached. maxInactivityDuration 3 The maximum inactivity duration (before which the socket is considered dead) in milliseconds. On some platforms it can take a long time for a socket to die. Therefore allow the broker to kill connections when they have been inactive for the configured period of time. Used by some transports to enable a keep alive heart beat feature. Inactivity monitoring is disabled when set to a value <= 0. maxInactivityDurationInitalDelay 1 The initial delay before starting inactivity checks. Yes, the word 'Inital' is supposed to be misspelled like that. maxFrameSize MAX_LONG Maximum allowed frame size. Can help help prevent OOM DOS attacks.prefixPacketSize sizePrefixDisabled true Should the size of the packet be prefixed before each packet is marshaled? stackTraceEnabled true Should the stack trace of exception that occur on the broker be sent to the client? tcpNoDelayEnabled true Does not affect the wire format, but provides a hint to the peer that TCP nodelay should be enabled on the communications Socket. tightEncodingEnabled true Should wire size be optimized over CPU usage? ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > Per Destination Policies
Title: Message Title Gary Tully edited a page Change comment: split description of cursorMemoryHighWaterMark Per Destination Policies ... Common Property Default Value Description advisoryForConsumed false Send an advisory message when a message is consumed by a client. advisoryForDelivery false Send an advisory message when a message is sent to a client. advisoryForFastProducers false Send an advisory message if a producer is deemed fast. advisoryForSlowConsumers false Send an advisory message if a consumer is deemed slow. advisoryWhenFull false Send an advisory message when a limit (memory, store, temp disk) is full. cursorMemoryHighWaterMark 70 The percentage (%) threshold applied either to the / or the destination's memoryLimit (when defined) which when exceeded will cause the destination's cursor to either block or write to disk. enableAudit true When true the broker will track duplicate messages. Duplicates can happen for non-persistent messages during failover. gcInactiveDestinations false Garbage collect inactive destinations. inactiveTimoutBeforeGC 5000 The timeout (in ms) after which a destination is considered inactive. includeBodyForAdvisory false Includes the body of the original message that triggered the advisory as part of the dataStructure field in the advisory message (where applicable). Normally the message body is cleared. maxBrowsePageSize 400 The maximum number of messages to page in from the store at one time for a browser. maxDestinations -1 (v5.12) If 0 or greater, sets the maximum number of destinations that can be created. This parameter is intended to limit the number of hierarchical destinations that can be created under a wildcard destination. maxPageSize 200 The maximum number of messages to page in from the store at one time. Increase this value to improve performance for queue destination's that contain grouped messages that are consumed by multiple concurrent consumers. memoryLimit n/a The memory limit (in bytes) of the destination's cursor. This memory limit is subordinate to the system level memory limit, as specified by the / attribute. There is no default for this value; it simply acts as a child to the overall broker memory until the broker memory is exhausted. Note: when this limit is specified the destination's cursorMemoryHighWaterMark will be applied against it and not the /> memory limit. minimumMessageSize 1024 For non-serialized messages (embedded broker) - the assumed size of the message used for memory usage calculation. Serialized messages use the serialized size as the basis for the memory calculation. prioritizedMessages false Persist message priority information. producerFlowControl true If true the broker will throttle (flow-control) the producer. Throttling is achieved either by withholding the producer's ACK or by raising a javax.jms.ResourceAllocationException (that's propagated back to the client) when local resources e.g., memory and/or storage, have been exhausted. If false excess messages will be written to the message store to prevent memory exhaustion. However, when the message store reaches capacity the producer will be throttled until resources are freed. slowConsumerStrategy null Sets the strategy for handling slow consumers. See AbortSlowConsumerStrategy. storeUsageHighWaterMark 100 The percentage (%) threshold of the / store limit which when exceeded causes a send to block. useCache true If true persistent messages are cached for fast retrieval from store. usePrefetchExtension true The prefetch extension is used when a message is delivered but not ACK'ed, such that the broker can dispatch another message, e.g., prefetch == 0, the idea being that there will always be prefetch number of messages pending. It also allows a transaction batch to exceed the prefetch value. ... Queue Only Property Default Value Description allConsumersExclusiveByDefault false When true all consumers will be exclusive. See ActiveMQ Exclusive Consumers cursorMemoryHighWaterMark 70 The percentage (%) threshold applied either to the / or the destination's memoryLimit (when defined) which when exceeded will cause the destination's cursor to either block or write to disk. consumersBeforeDispatchStarts 0 When the first consumer connects, wait for specified number of consumers before message dispatching starts. expireMessagesPeriod 3 The period (in ms) of checks for message expiry on queued
[CONF] Apache ActiveMQ > Audit Logging
Title: Message Title Gary Tully edited a page Audit Logging ... Audit logging comes pre-configured with the distribution, so it's very easy to turn it on or off. All you have to do is to set org.apache.activemq.audit system property. From 5.16.0 the value can be one of "true|entry|exit|all". When the value is all or exit, the audit captures the time the JMX operation completed. You can do that by uncommenting the following line in the startup script: Code Block ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS -Dorg.apache.activemq.audit=true" The actual logs are by default stored in ${ACTIVEMQ_HOME}/data/audit.log and for secured broker you may expect entries similar to the following: Code Block 2010-12-22 12:12:07,225 | INFO | admin requested /admin/createDestination.action [JMSDestination='test' JMSDestinationType='queue' secret='4eb0bc3e-9d7a-4256-844c-24f40fda98f1' ] from 127.0.0.1 | qtp12205619-39 2010-12-22 12:12:14,512 | INFO | admin requested /admin/purgeDestination.action [JMSDestination='test' JMSDestinationType='queue' secret='eff6a932-1b58-45da-a64a-1b30b246cfc9' ] from 127.0.0.1 | qtp12205619-36 2010-12-22 12:12:17,802 | INFO | admin requested /admin/sendMessage.action [JMSTimeToLive='' JMSXGroupSeq='' AMQ_SCHEDULED_DELAY='' JMSType='' JMSMessageCountHeader='JMSXMessageCounter' JMSXGroupID='' JMSReplyTo='' JMSDestination='test' AMQ_SCHEDULED_PERIOD='' JMSText='Enter some text here for the message body...' JMSDestinationType='queue' AMQ_SCHEDULED_CRON='' JMSCorrelationID='' AMQ_SCHEDULED_REPEAT='' JMSMessageCount='1' secret='a0e1df62-14d6-4425-82a2-17aa01a16e7d' JMSPriority='' ] from 127.0.0.1 | qtp12205619-37 ... 2010-12-22 12:12:57,553 | INFO | admin called org.apache.activemq.broker.jmx.QueueView.purge[] | RMI TCP Connection(8)-192.168.1.107 2010-12-22 12:13:21,976 | INFO | admin called org.apache.activemq.broker.jmx.QueueView.resetStatistics[] | RMI TCP Connection(8)-192.168.1.107 2010-12-22 12:13:32,457 | INFO | admin called org.apache.activemq.broker.jmx.QueueView.sendTextMessage[message] | RMI TCP Connection(6)- 192.168.1.107 ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.17
[CONF] Apache ActiveMQ > KahaDB
Title: Message Title Gary Tully edited a page Change comment: document PreallocationScope KahaDB ... property name default value Comments directory activemq-data the path to the directory to use to store the message store data and log files IndexDirectory If set, configures where the KahaDB index files will be stored. If not set, the index files are stored in the directory specified by the 'directory' attribute. Note Available as of ActiveMQ 5.10 storeOpenWireVersion 11 Determines the version of OpenWire commands that are marshalled to the KahaDB journal. In versions prior to 5.12.0 this value defaulted to v6. Some features of the broker depend on information stored in the OpenWire commands from newer protocol revisions and these may not work correctly if the store version is set to a lower value. KahaDB stores from broker versions greater than 5.9.0 will in many cases still be readable by the broker but will cause the broker to continue using the older store version meaning newer features may not work as intended. For KahaDB stores that were created in versions prior to v5.9.0 it will be necessary to manually set the store version to v6 in order to start a broker without error. indexWriteBatchSize 1000 number of indexes written in a batch indexCacheSize 1 number of index pages cached in memory enableIndexWriteAsync false if set, will asynchronously write indexes journalMaxFileLength 32mb a hint to set the maximum size of the message data logs enableJournalDiskSyncs true ensure every journal write is followed by a disk sync (JMS durability requirement) cleanupInterval 3 time (ms) before checking for a discarding/moving message data logs that are no longer used checkpointInterval 5000 time (ms) before checkpointing the journal ignoreMissingJournalfiles false If enabled, will ignore a missing message log file checkForCorruptJournalFiles false If enabled, will check for corrupted Journal files on startup and try and recover them checksumJournalFiles false true v5.9 create a checksum for a journal file - to enable checking for corrupted journals archiveDataLogs false If enabled, will move a message data log to the archive directory instead of deleting it. directoryArchive null Define the directory to move data logs to when they all the messages they contain have been consumed. maxAsyncJobs 1 the maximum number of asynchronous messages that will be queued awaiting storage (should be the same as the number of concurrent MessageProducers) concurrentStoreAndDispatchTopics false enable the dispatching of Topic messages to interested clients to happen concurrently with message storage (Warning: Enabling this property is not recommended) concurrentStoreAndDispatchQueues true enable the dispatching of Queue messages to interested clients to happen concurrently with message storage archiveCorruptedIndex false If enabled, corrupted indexes found at startup will be archived (not deleted) preallocationStrategy sparse_file (as of 5.12.0) This setting configures how the broker will try to preallocate the journal files when a new journal file is needed. The default allocation strategy sets the file length, but does not populate it with any data. The 'os_kernel_copy' strategy delegates the preallocation to the Operating System. The 'zeros' strategy configures ActiveMQ to do the preallocation by writing 0x00 to all of the positions in the journal file. preallocationScope entire_journal_async (as of 5.14.0) This setting configures how the broker will preallocate the journal data files. The default preallocates the next data file in a separate thread. 'entire_journal' does preallocation on first use. 'none' disables preallocation. Using 'entire_journal_async' option avoids delaying writes pending preallocation on first use. For tuning locking properties please take a look at Pluggable storage lockers ... View page • Like Stop watching space • Manage notifications This message was sent by Atlassian Confluence 5.8.4
[CONF] Apache ActiveMQ How to Become a Committer on the ActiveMQ Project
Gary Tully edited the page: How to Become a Committer on the ActiveMQ Project ... Demonstrated ability to contribute patches/pull requests to ActiveMQ projects Demonstrated participation in discussions on the ActiveMQ mailing lists Willingness to contribute to the document View Online Like View Changes Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ Download
Gary Tully edited the page: Download ... Section Column width 20% div style padding-right:20px;float:left;
[CONF] Apache ActiveMQ Apache ActiveMQ 5.11.0 Released
Gary Tully wrote a blog post: Apache ActiveMQ 5.11.0 Released The ActiveMQ team is delighted to announce the release of ActiveMQ 5.11.0 A hearty thanks to everyone who contributed to this release. We look forward to your feedback. View Online Like Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ ActiveMQ 5.11.0 Release
Gary Tully edited the page: ActiveMQ 5.11.0 Release div style padding-right:20px;float:left;margin-left:-20px; Image Removed ActiveMQ 5.11.0 Release Apache ActiveMQ 5.11.0 resolves more than 130 issues, mostly bug fixes and improvements. ... View Online Like View Changes Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ Download
Gary Tully removed a comment from the page: Download Does not provide link to ActiveMQ 4.0 Milestone release (http://people.apache.org/~chirino/incubator-activemq-4.0-M4/distributions/ ) nor Development Snapshots (http://cvs.apache.org/repository/incubator-activemq/). Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ New Features in 5.11
Gary Tully edited the page: New Features in 5.11 New Features in 5.11.0 Hardened MQTT Protocol Support Hardened AMQP Protocol Support Jetty 8 destination Destination import/export for lock down mode AMQ-5218 plugin for dynamic Dynamic camel root loading AMQ-5351 MQTT - QOS2 mapped to virtual topicsAMQ-5290 start scripts simplificationAMQ-5378 Recover scheduler database optionAMQ-3758 Jetty 8 Karaf 2.4.1 View Online Like View Changes Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ QuickLinks
Gary Tully edited the page: QuickLinks Download | JavaDocs More... | Source | Forums | Support View Online Like View Changes Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ ActiveMQ 5.11.0 Release
Gary Tully created a page: ActiveMQ 5.11.0 Release ActiveMQ 5.11.0 Release Apache ActiveMQ 5.11.0 resolves more than 130 issues, mostly bug fixes and improvements. New Features in 5.11.0 Hardened MQTT Protocol Support Hardened AMQP Protocol Support Jetty 8 destination import/export for lock down mode AMQ-5218 plugin for dynamic camel root loading AMQ-5351 Getting the Binary Distributions Description Download Link PGP Signature file of download Windows Distribution apache-activemq-5.11.0-bin.zip apache-activemq-5.11.0-bin.zip.asc Unix/Linux/Cygwin Distribution apache-activemq-5.11.0-bin.tar.gz apache-activemq-5.11.0-bin.tar.gz.asc Verify the Integrity of Downloads It is essential that you verify the integrity of the downloaded files using the PGP or MD5 signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps: Download the KEYS Download the asc signature file for the relevant distribution Verify the signatures using the following commands, depending on your use of PGP or GPG: $ pgpk -a KEYS $ pgpv apache-activemq-version-bin.tar.gz.asc or
[CONF] Apache ActiveMQ New Features in 5.11
mode AMQ-5218 plugin for dynamic camel root loading AMQ-52185351 Gary Tully edited the page: New Features in 5.11 ... Hardened MQTT Protocol Support Hardened AMQP Protocol Support Jetty 8 destination import/export for lock down mode JIRA server Issues key JIRA server Issues key View Online Like View Changes Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ Release Guide
Gary Tully edited the page: Release Guide ... Verify the to-be-released version identifier exists in the META-INF/spring.schema mappings file, if not add it and commit. It should contain: Code Block http\://activemq.apache.org/schema/core/activemq-core-${pom.version}.xsd=activemq.xsd Verify headers with rat Code Block mvn -e apache-rat:check grep -e ' !?' target/rat.txt -- will show any files without licenses Do a release dry run to check for problems Code Block mvn release:prepare -DdryRun=true Check that you are happy with the results. The poms for the proposed tags will be in pom.xml.tag. When you like the results, clean up: Code Block
[CONF] Apache ActiveMQ Web Samples
Gary Tully edited the page: Web Samples ... Code Block bin/activemq console xbean:examples/conf/activemq-demo.xml See Also ... View Online Like View Changes Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ ActiveMQ 5.10.0 Release
Gary Tully edited the page: ActiveMQ 5.10.0 Release ... To use this release in your maven project, the proper simplest dependency configuration that you should can use in your Maven POM is: Code Block xml dependency groupIdorg.apache.activemq/groupId artifactIdactivemq-all/artifactId version5.10.0/version /dependency If you need more fine grained control of your dependencies (activemq-all is an uber jar) pick and choose from the various components activemq-client, activemq-broker, activemq-xx-store etc. div Getting the Source Code Source Distributions ... View Online Like View Changes Stop watching space Manage Notifications This message was
[CONF] Apache ActiveMQ Persistence
Gary Tully edited the page: Persistence ... For full explict control over configuration check out the Xml Configuration. However a quick way to set which persistence adapter to use is to set the following system property to be the class name of the PersistenceAdapter implementation. Code Block activemq.persistenceAdapter When running the broker from the command line, we look for the activemq.xml on the classpath unless you specify one to use. e.g. AMQ 4.x Code Block activemq xbean:file:myconfig.xml AMQ 3.x Code Block activemq myconfig.xml or just AMQ3.x/AMQ4.x Code Block activemq Here is a sample XML configuration which shows how to configure the journal and the JDBC persistence. ...
[CONF] Apache ActiveMQ Pluggable storage lockers
Gary Tully edited the page: Pluggable storage lockers ... In order for this mechanism to work correctly, each broker in the master/slave pair must have a different brokerName attribute defined on the broker tag or use thelease-database-locker leaseHolderId attribute, as it is this value that is used to reserve a lease. The lease based lock is acquired by blocking at startup. It is then retained for a period whose duration (in ms) is given by the lockKeepAlivePeriod attribute. To retain the lock the master broker periodically extends its lease by lockAcquireSleepInterval milliseconds each time. In theory, therefore, the master broker is always (lockAcquireSleepInterval- lockKeepAlivePeriod) ahead of the slave broker with regard to the lease. It is imperative that lockAcquireSleepInterval lockKeepAlivePeriod, to ensure the lease is always current. As of ActiveMQ 5.9.0 a warning message is logged if this condition is not met. ... View Online Like View Changes Stop watching space Manage Notifications This message was sent by Atlassian Confluence 5.0.3, Team Collaboration Software
[CONF] Apache ActiveMQ ActiveMQ Message Properties
Gary Tully edited the page: ActiveMQ Message Properties ... Property Name type default value description JMSDestination javax.jms.Destination set by the producer Destination used by the producer JMSReplyTo javax.jms.Destination null user defined JMSType String empty user defined JMSDeliveryMode int DeliveryMode.PERSISTENT indicator if messages should be persisted JMSPriority int 4 value from 0-9 JMSMessageID String unique unique identifier for the message JMSTimestamp long time the message was sent time in
[CONF] Apache ActiveMQ Stomp
Gary Tully edited the page: Stomp Comment: remove incorrect section on message order - order is determined by broker arrival order ... Its very easy to enable ActiveMQ for Stomp. Just add a connector to the broker using the stomp URL. Code Block xml transportConnectors transportConnector name=stomp uri=stomp://localhost:61613/ /transportConnectors To see a full example, try this XML. If you save that XML as foo.xml then you can run stomp via the command line as Code Block xml activemq xbean:foo.xml