Mirror of Apache ActiveMQ Artemis
Go to file
jostbg b8f591b6b9 ARTEMIS-1601 deal with race in Stomp sendMessage
If the Stomp consumer was closed at or near the same time a message was
dispatched then an NPE might result. Throwing an exception is a
relatively expensive operation in the JVM because of the stacktrace
information that needs to be generated, so in cases where it is known
that a null value could be returned one should check and handle it
appropriately.
2018-01-11 11:42:56 -06:00
.mvn/wrapper ARTEMIS-613 Artemis build enhancements 2016-07-05 15:13:35 -04: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 2017-11-01 00:38:57 -05:00
artemis-cdi-client ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-cli ARTEMIS-1591 Preserve ordering on message exporter 2018-01-09 10:34:38 -06:00
artemis-commons NO-JIRA fixing header copy & paste error 2018-01-09 10:34:38 -06:00
artemis-core-client ARTEMIS-1598 modify SslHandler name in connector 2018-01-11 09:41:23 -06:00
artemis-core-client-all [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00
artemis-distribution ARTEMIS-1562 Refactor example documentation 2017-12-15 14:54:16 +00:00
artemis-dto ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-features ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-hawtio ARTEMIS-1579 browsing messages in hawtio console 2018-01-11 10:56:46 +00:00
artemis-jdbc-store ARTEMIS-1541 Make the JDBC Node Manager more resilient on failures 2017-12-20 16:03:19 -05:00
artemis-jms-client ARTEMIS-1595 Fixing serialization issues between Artemis 1.5 and master 2018-01-10 16:19:55 +00:00
artemis-jms-client-all [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00
artemis-jms-server ARTEMIS-1554 JMS bridge with transactions cannot be stopped on session failover 2017-12-20 16:07:51 -05:00
artemis-journal ARTEMIS-1406 removing impossible instanceof 2018-01-03 10:50:13 +08:00
artemis-junit ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-maven-plugin ARTEMIS-1595 Fixing serialization issues between Artemis 1.5 and master 2018-01-10 16:19:55 +00:00
artemis-native ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-protocols ARTEMIS-1601 deal with race in Stomp sendMessage 2018-01-11 11:42:56 -06:00
artemis-ra ARTEMIS-1516 - Ensure JNDI via Tomcat Resource works 2017-12-19 09:20:35 -05:00
artemis-rest ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-selector ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-server ARTEMIS-1579 browsing messages in hawtio console 2018-01-11 10:56:46 +00:00
artemis-server-osgi ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-service-extensions ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-tools ARTEMIS-1575 configure custom broker plugins with key/value properties. 2018-01-04 14:27:41 -06:00
artemis-web ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
artemis-website [ARTEMIS-550] add section on migrating virtual topics and test to validate 2017-12-18 22:25:28 -05:00
docs NO-JIRA fix warnings from w3c/link-checker in docs 2018-01-10 13:07:40 +01:00
etc ARTEMIS-1189 - Fix checkstyle violations post checkstyle upgrade 2017-05-30 13:40:00 -04:00
examples NO-JIRA fix warnings from w3c/link-checker in docs 2018-01-10 13:07:40 +01:00
integration/activemq-spring-integration ARTEMIS-1510 refactor Maven poms 2017-11-13 17:03:35 -05:00
scripts NO-JIRA Script I use to rebuild snapshots under the distribution 2017-10-25 17:54:56 -04:00
tests ARTEMIS-1576 Fix test that was broken with changes on this issue 2018-01-11 09:38:44 -06:00
.gitignore ARTEMIS-1562 Refactor example documentation 2017-12-15 14:54:16 +00: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 ARTEMIS-565 Replace json.org with javax.json 2016-07-25 21:44:57 -04:00
NOTICE NO-JIRA: update notice 2017-03-09 09:07:09 -05:00
README.md NO-JIRA fix warnings from w3c/link-checker in docs 2018-01-10 13:07:40 +01:00
RELEASING.md NO-JIRA fix warnings from w3c/link-checker in docs 2018-01-10 13:07:40 +01:00
artemis_doap.rdf Update vendor to ASF 2015-05-30 08:37:28 +02:00
mvnw ARTEMIS-613 Artemis build enhancements 2016-07-05 15:13:35 -04:00
mvnw.cmd ARTEMIS-613 Artemis build enhancements 2016-07-05 15:13:35 -04:00
pom.xml ARTEMIS-1571 - Upgrade to Netty 4.1.19.Final 2017-12-21 22:42:40 -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.

Each individual example can be run using this command from its corresponding directory:

$ mvn verify

If you wish to run groups of examples then use this command from a parent directory (e.g. examples/features/standard):

$ mvn -Pexamples verify

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

Open Web Application Security Project (OWASP) Report

If you wish to generate the report for CCV dependencies, you may run it with the -Powasp profile

$ mvn -Powasp verify

The output will be under ./target/dependency-check-report.html for each sub-module.