Mirror of Apache ActiveMQ Artemis
Go to file
Justin Bertram 682f505e32
ARTEMIS-3942 use session instead of direct routing for MQTT LWT messages
Using direct routing skips authorization for "Last Will and Testament"
messages (a.k.a. "will" messages). This commit fixes that problem by
using the internal session that is established for normal message
production and consumption.
2022-08-17 12:29:01 -05:00
.github NO-JIRA: Update github actions 2022-07-01 20:02:06 +01: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 2022-07-26 11:59:21 -04:00
artemis-cdi-client [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-cli ARTEMIS-3928 Limiting parallel IO in paging which would allow multiple destinations running all at once 2022-08-10 19:29:29 -04:00
artemis-commons ARTEMIS-3928 Limiting parallel IO in paging which would allow multiple destinations running all at once 2022-08-10 19:29:29 -04:00
artemis-core-client [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-core-client-all [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-core-client-osgi [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-distribution [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-docker NO-JIRA update JDK image in Docker file 2022-05-23 14:21:45 -05:00
artemis-dto [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-features [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-hawtio [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jakarta-client [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jakarta-client-all [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jakarta-ra [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jakarta-server [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jakarta-service-extensions [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jdbc-store [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jms-client [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jms-client-all [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jms-client-osgi [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-jms-server [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-journal [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-junit [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-maven-plugin ARTEMIS-3914 Document client classpath automated 2022-08-01 15:13:02 -04:00
artemis-protocols ARTEMIS-3942 use session instead of direct routing for MQTT LWT messages 2022-08-17 12:29:01 -05:00
artemis-quorum-api [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-quorum-ri [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-ra [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-rest [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-selector [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-server ARTEMIS-3925 LVQ pruning nulls 2022-08-17 12:28:36 -05:00
artemis-server-osgi [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-service-extensions [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-unit-test-support [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-web [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
artemis-website ARTEMIS-3914: reorder and clarify some bits, use version placeholder to give specific version in example dependency declaration 2022-08-08 12:10:00 -04:00
docs ARTEMIS-3914: reorder and clarify some bits, use version placeholder to give specific version in example dependency declaration 2022-08-08 12:10:00 -04:00
etc ARTEMIS-3341 update checkstyle to latest + update code 2021-06-11 12:16:04 +01:00
examples [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
integration/activemq-spring-integration [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
scripts ARTEMIS-3928 Adding SoakTest for Paging with in many destinations 2022-08-10 16:38:58 -04:00
tests ARTEMIS-3942 use session instead of direct routing for MQTT LWT messages 2022-08-17 12:29:01 -05:00
.asf.yaml NO-JIRA disable merge and squash buttons on github 2020-11-16 10:30:07 -05:00
.gitignore NO-JIRA Adding vim .swp and .swo files into .gitignore 2021-08-09 14:21:39 -04:00
.project More name changes to activemq 2014-11-19 16:01:54 -05:00
.travis.yml NO-JIRA: update stale Travis config 2022-07-04 09:46:48 +01:00
LICENSE ARTEMIS-565 Replace json.org with javax.json 2016-07-25 21:44:57 -04:00
NOTICE NO-JIRA Notice update to 2022 2022-01-06 15:31:01 -05:00
README.md ARTEMIS-3474 - replace whitelist with allowlist in management.xml 2021-09-16 17:19:02 -05:00
RELEASING.md NO-JIRA some extra cleanup on Releasing.md 2022-06-07 12:05:05 -04:00
artemis_doap.rdf Update vendor to ASF 2015-05-30 08:37:28 +02:00
pom.xml ARTEMIS-3927: update postgresql [provided/test] dep to 42.4.1 2022-08-09 12:17:28 +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 main 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.

Bugs

Issues are tracked at https://issues.apache.org/jira/projects/ARTEMIS/