Mirror of Apache ActiveMQ Artemis
Go to file
jbertram 2fcd474bb3 ARTEMIS-350 fix for potential race
It's possible for the latch used for flow control here to get out of sync. In
other words, multiple count-downs can occur between count-ups so that the latch
always has a count > 0. When this situation arises then every single packet
sent to the replica is delayed by 5 seconds.

The solution here essentially is to eliminate the latch completely and use a
condition/wait/notify pattern.
2016-02-23 12:56:45 -06:00
.settings ACTIVEMQ6-1 - Initial HornetQ Donation Commit 2014-11-10 10:31:25 -06:00
artemis-boot Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
artemis-cli Use try-with-resources more 2016-02-21 12:09:43 +02:00
artemis-commons ARTEMIS-401 Refactoring Acceptors and ProtocolManager to support parameters 2016-02-18 10:14:26 -06:00
artemis-core-client Use try-with-resources more 2016-02-21 12:09:43 +02:00
artemis-distribution Update to current 'artemis help create' synopsis and extra console output when running 'artemis create' 2016-01-26 19:13:52 -05:00
artemis-dto Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
artemis-features Add Name tag for several POM files 2016-02-16 11:56:01 -05:00
artemis-jdbc-store Added back Timer intialization 2016-02-09 13:39:25 +00:00
artemis-jms-client Use try-with-resources more 2016-02-21 12:09:43 +02:00
artemis-jms-server ARTEMIS-401 Refactoring Acceptors and ProtocolManager to support parameters 2016-02-18 10:14:26 -06:00
artemis-journal Remove redundant type parameters 2016-01-25 12:10:25 -05:00
artemis-maven-plugin Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
artemis-native ARTEMIS-353 retrying after interrupts on the native layer because of jmap issuing weird interrupts 2016-01-20 17:50:56 -05:00
artemis-protocols Use try-with-resources more 2016-02-21 12:09:43 +02:00
artemis-ra ARTEMIS-399 support 'clientId' activation prop 2016-02-16 17:19:45 -05:00
artemis-rest Use try-with-resources more 2016-02-21 12:09:43 +02:00
artemis-selector ARTEMIS-356 - better support for special characters in like selector escape 2016-01-22 16:30:16 +00:00
artemis-server ARTEMIS-350 fix for potential race 2016-02-23 12:56:45 -06:00
artemis-server-osgi Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
artemis-service-extensions Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
artemis-web Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
artemis-website Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
docs Allow users to configure jdbc driver class name 2016-02-08 11:23:38 -05:00
etc Update Java version in example Eclipse config 2015-12-21 21:47:15 -05:00
examples Use try-with-resources more 2016-02-21 12:09:43 +02:00
integration Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
scripts Improving the merging process doc, based on rebasing 2016-02-02 08:56:47 -06:00
tests ARTEMIS-415 - [Artemis Testsuite] NettyPagingSendTest#testPagingDoesNotDuplicateBatchMessages 2016-02-22 10:32:24 -05:00
.gitignore ARTEMIS-27 / ARTEMIS-340 Add JDBC Storage Manager 2016-01-13 09:38:40 -05:00
.project More name changes to activemq 2014-11-19 16:01:54 -05:00
CMakeLists.txt ARTEMIS-163 First pass on the native AIO refactoring 2015-07-29 22:12:03 -04:00
LICENSE License updates including Base64 and JSON. 2015-03-16 14:30:28 +00:00
NOTICE ACTIVEMQ6-1 Artemis rename 2015-04-27 17:48:02 -04:00
README.md Tidy up readme and move the karaf docs into the user guide. 2015-12-27 09:19:56 +01:00
RELEASING.md extraTests version bump and RELEASING note 2015-12-21 09:48:14 +00:00
artemis_doap.rdf Update vendor to ASF 2015-05-30 08:37:28 +02:00
pom.xml Upgrade proton to 0.12 2016-02-18 10:14:26 -06:00

README.md

ActiveMQ Artemis

This file describes some minimum 'stuff one needs to know' to get started coding in this project.

Source

For details about the modifying the code, building the project, running tests, IDE integration, etc. see our Hacking Guide.

Building the ASYNC IO library

ActiveMQ Artemis provides two journal persistence types, NIO (which uses the Java NIO libraries), and ASYNCIO which interacts with the linux kernel libaio library. The ASYNCIO journal type should be used where possible as it is far superior in terms of performance.

ActiveMQ Artemis does not ship with the Artemis Native ASYNCIO library in the source distribution. These need to be built prior to running "mvn install", to ensure that the ASYNCIO journal type is available in the resulting build. Don't worry if you don't want to use ASYNCIO or your system does not support libaio, ActiveMQ Artemis will check at runtime to see if the required libraries and system dependencies are available, if not it will default to using NIO.

To build the ActiveMQ Artemis ASYNCIO native libraries, please follow the instructions in the artemis-native/README.

Documentation

Our documentation is always in sync with our releases at the Apache ActiveMQ Artemis website.

Or you can also look at the current master version on github.

Examples

To run an example firstly make sure you have run

$ mvn -Prelease install

If the project version has already been released then this is unnecessary.

then you will need to set the following maven options, on Linux by

$ export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=512m"

and the finally run the examples by

$ mvn verify

You can also run individual examples by running the same command from the directory of which ever example you want to run. NB for this make sure you have installed examples/common.

Recreating the examples

If you are trying to copy the examples somewhere else and modifying them. Consider asking Maven to explicitly list all the dependencies:

# if trying to modify the 'topic' example:
cd examples/jms/topic && mvn dependency:list