Mirror of Apache ActiveMQ Artemis
Go to file
Timothy Bish d1939620c0 ARTEMIS-2067 Clean up some code in the AMQP protocol handling paths
Cleans up some of the code on the proton event handler, most noteable:

1. Fix IOCallback creation on each outbound send, use single instance
as the handler only ever does a flush and has no attached state.
2. Fix redundent locking and unlocking of connection lock on the event
path that already ensures that lock is held.
3. Set presettle state on the server sender at attach as it cannot
change afterwards so checking on every message is not needed.
4. Improve buffer type checking on receive to reduce amount of work
2018-09-12 12:23:49 -04: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 2018-05-16 11:03:26 -04:00
artemis-cdi-client ARTEMIS-1954 eliminate all possible usage of JMSServerManager 2018-07-12 14:24:44 -04:00
artemis-cli [ARTEMIS-2008]Add a CLI command to purge queue 2018-08-03 14:19:47 -04:00
artemis-commons NO-JIRA - Update SimpleString to give a more useful error message 2018-09-11 14:48:17 +01:00
artemis-core-client ARTEMIS-2068 save reading any file to get AMQP large msg size 2018-09-11 16:36:45 -04:00
artemis-core-client-all [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
artemis-core-client-osgi [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
artemis-distribution ARTEMIS-1853 Adding Netty OpenSSL provider example 2018-05-23 15:47:10 -04:00
artemis-dto ARTEMIS-1917 support logging HTTP access 2018-06-19 00:12:32 -04:00
artemis-features [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
artemis-hawtio [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
artemis-jdbc-store ARTEMIS-2051 add trace logging for JDBC 2018-08-28 11:28:18 -04:00
artemis-jms-client ARTEMIS-2074 URI not transposing ServerLocator on ConnectionFactory 2018-09-11 17:04:01 -04:00
artemis-jms-client-all ARTEMIS-1853 Adding Netty OpenSSL provider example 2018-05-23 15:47:10 -04:00
artemis-jms-client-osgi [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
artemis-jms-server ARTEMIS-2047 Compatible option for ActiveMQJMSClient 2018-08-21 22:05:29 -04:00
artemis-journal ARTEMIS-2053 avoiding data loss after compacting 2018-08-26 18:17:29 -04:00
artemis-junit ARTEMIS-2016 fix flaky test QueueControlTest#testRemoveAllWithPagingMode 2018-08-08 11:33:31 -04:00
artemis-maven-plugin ARTEMIS-1931 Support Property replacement on the CLI 2018-06-18 15:46:35 -04:00
artemis-native NO-JIRA Using less resources from public clouds on tests 2018-09-04 12:47:34 -04:00
artemis-protocols ARTEMIS-2067 Clean up some code in the AMQP protocol handling paths 2018-09-12 12:23:49 -04:00
artemis-ra ARTEMIS-2023 Avoiding boolean on every message for 1x and tests 2018-08-30 14:29:58 -04:00
artemis-rest ARTEMIS-1954 eliminate all possible usage of JMSServerManager 2018-07-12 14:24:44 -04:00
artemis-selector ARTEMIS-2017 Eliminate LRUCache from SelectorParser 2018-08-09 19:36:22 -04:00
artemis-server ARTEMIS-2068 save reading any file to get AMQP large msg size 2018-09-11 16:36:45 -04:00
artemis-server-osgi [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
artemis-service-extensions [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
artemis-tools ARTEMIS-856 - Support consumersBeforeDispatch and delayBeforeDispatch 2018-07-31 16:16:51 +01:00
artemis-web ARTEMIS-1917 support logging HTTP access 2018-06-19 00:12:32 -04:00
artemis-website [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
docs NO-JIRA Add version update steps for windows services on doc 2018-09-04 13:26:56 -04:00
etc ARTEMIS-1189 - Fix checkstyle violations post checkstyle upgrade 2017-05-30 13:40:00 -04:00
examples ARTEMIS-2060 OpenSSL tests broken after Netty upgrade 2018-08-28 11:02:45 -05:00
integration/activemq-spring-integration ARTEMIS-1954 eliminate all possible usage of JMSServerManager 2018-07-12 14:24:44 -04:00
scripts NO-JIRA Script I use to rebuild snapshots under the distribution 2017-10-25 17:54:56 -04:00
tests ARTEMIS-2074 URI not transposing ServerLocator on ConnectionFactory 2018-09-11 17:04:01 -04:00
.gitignore ARTEMIS-1723 Migrate AMQP C# examples to the common .NET version 2018-03-06 12:12:11 -06:00
.project More name changes to activemq 2014-11-19 16:01:54 -05:00
.travis.yml NO-JIRA Adding examples verification into travis 2018-04-17 15:10:15 -04: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 files to have correct year range. 2018-05-17 15:43:31 -04:00
README.md Adds the Travis CI build status label on the README 2018-04-19 16:45:58 +02:00
RELEASING.md NO-JIRA update release instruction with git-release-report 2018-06-04 08:54:55 -04: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-1938 Update Qpid JMS along with Proton and Netty 2018-08-25 07:22:53 +01: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.

Build Status

Build Status: Build Status

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.