Mirror of Apache ActiveMQ Artemis
Go to file
Miroslav Novak fe9b95ed64 ARTEMIS-359 - test suite fix - IBM JDK 6/7/8 does not allow byteman agent to modify classes. 2016-01-25 11:21:29 -05:00
.settings
artemis-boot
artemis-cli
artemis-commons
artemis-core-client
artemis-distribution
artemis-dto
artemis-features
artemis-jdbc-store
artemis-jms-client
artemis-jms-server
artemis-journal
artemis-maven-plugin
artemis-native
artemis-protocols
artemis-ra
artemis-rest
artemis-selector
artemis-server
artemis-server-osgi
artemis-service-extensions
artemis-web
artemis-website
docs
etc
examples
integration
scripts
tests
.gitignore
.project
CMakeLists.txt
LICENSE
NOTICE
README.md
RELEASING.md
artemis_doap.rdf
pom.xml

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