Mirror of Apache ActiveMQ Artemis
Go to file
Martyn Taylor 945963ed07 Remove DelegatingSession class
DelegatingSession class wraps ClientSessionImpl and attempts to close
session should it not be closed by the user.  It does this by
implementing finalize.  However, the order in which finalize runs can be
difficult to predict as compilers, and JIT compilers are able to
optimize early.

The current DelegatingSession was causing problems of finalize getting
called early (before consumers, producers were finished with the
session).  This was causing tests to fail on the IBM JDK (which
optimizes early).  The same happens on OpenJDK if the GC is forced.
2016-01-11 19:43:10 -05:00
.settings ACTIVEMQ6-1 - Initial HornetQ Donation Commit 2014-11-10 10:31:25 -06:00
artemis-boot [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-cli artemis.cmd, artemis.profile: Drop executable bits 2016-01-11 13:20:38 -05:00
artemis-commons ARTEMIS-332 - Duplicate delivery over Bridges under OME scenarios, paging and other failures 2016-01-04 20:49:28 -05:00
artemis-core-client Remove DelegatingSession class 2016-01-11 19:43:10 -05:00
artemis-distribution Remove wildcard include on geronimo specs 2016-01-07 09:27:52 -06:00
artemis-dto [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-features [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-jms-client ARTEMIS-218 auto-create in cluster 2016-01-05 14:02:05 -06:00
artemis-jms-server [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-journal ARTEMIS-332 avoid shutting down the server after interrupted threads on paging 2016-01-07 16:08:38 -05:00
artemis-maven-plugin [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-native fixing license header 2016-01-05 11:07:52 -05:00
artemis-protocols Deprecation fixes 2016-01-11 13:22:18 -05:00
artemis-ra [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-rest Deprecation fixes 2016-01-11 13:22:18 -05:00
artemis-selector [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-server Deprecation fixes 2016-01-11 13:22:18 -05:00
artemis-server-osgi [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-service-extensions [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
artemis-web Clean up path handling in in the WebServerComponent a bit. 2016-01-06 14:20:14 -05:00
artemis-website Update npm plugin to latest version 2016-01-11 13:21:47 -05:00
docs fix security doc 2016-01-05 10:44:30 -05:00
etc Update Java version in example Eclipse config 2015-12-21 21:47:15 -05:00
examples Remove dead code 2016-01-11 13:21:26 -05:00
integration [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
scripts one-test script to help running tests 2015-12-10 16:47:30 -05:00
tests Remove DelegatingSession class 2016-01-11 19:43:10 -05:00
.gitignore ignoring stuff from cmake / native build 2016-01-04 11:21:10 -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 ignoring stuff from cmake / native build 2016-01-04 11:21:10 -05: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