Mirror of Apache ActiveMQ Artemis
Go to file
Justin Bertram 19d8059a4e ARTEMIS-4794 configure pending ack behavior for bridge
When a bridge is stopped it doesn't wait for pending send
acknowledgements to arrive. However, when a bridge is paused it does
wait. The behavior should be consistent and more importantly
configurable. This commit implements these improvements and generally
refactors BridgeImpl to clarify and simplify the code. In total, this
commit includes the follow changes:

 - Removes the hard-coded 60-second timeout for pending acks when
   pausing the bridge and adds a new config parameter (i.e.
   "pending-ack-timeout").
 - Applies the new pending-ack-timeout when the bridge is stopped.
 - Updates existing and adds new logging messages for clarity.
 - De-duplicates code for sending bridge-related notifications.
 - Avoids converting bridge name to/from SimpleString.
 - Removes unnecessary comments.
 - Renames variables & functions for clarity.
 - Replaces the `started`, `stopping`, & `active` booleans with a
   single `state` variable which is an enum.
 - Adds `final` to a few variables that were functionally final.
 - Synchronizes `stop` & `pause` methods to add safety when invoked
   concurrently with `handle` (since both deal with `state` and execute
   runnables on the ordered executor).
 - Reorganizes and removes a few methods for clarity.
 - Relocates `connect` method directly into `ConnectRunnable` (mirroring
   the structure of the `StopRunnable` and `PauseRunnable`).
 - Eliminates unnecessary variables in `ConnectRunnable` and
   `ScheduledConnectRunnable`.
 - Adds test to verify pending ack timeout works as expected with both
   `stop` & `pause` with both regular and large messages.
2024-07-15 18:19:39 +01:00
.github NO-JIRA ignore jakarta.resource:jakarta.resource-api >= 2 2024-07-02 21:37:49 -05:00
.settings ACTIVEMQ6-1 - Initial HornetQ Donation Commit 2014-11-10 10:31:25 -06:00
artemis-bom [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-boot ARTEMIS-4829 use lambdas consistently 2024-06-21 12:01:16 -04:00
artemis-cdi-client ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-cli ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-commons ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-core-client ARTEMIS-4794 configure pending ack behavior for bridge 2024-07-15 18:19:39 +01:00
artemis-core-client-all [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-core-client-osgi [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-distribution [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-docker ARTEMIS-4816: Docker image echo's admin credentials during startup 2024-06-13 11:40:08 -04:00
artemis-dto ARTEMIS-4890: dont define specific version, just use parent managed version that was already 3.1.0 2024-07-02 11:47:06 +01:00
artemis-features [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-hawtio [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-image [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-jakarta-client ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-jakarta-client-all [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-jakarta-ra ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-jakarta-server ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-jakarta-service-extensions ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-jdbc-store ARTEMIS-4829 use lambdas consistently 2024-06-21 12:01:16 -04:00
artemis-jms-client ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-jms-client-all [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-jms-client-osgi [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-jms-server ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-journal ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-junit [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-lockmanager [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-log-annotation-processor ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-maven-plugin ARTEMIS-4918: artemis-maven-plugin tweaks and cleanup 2024-07-10 15:22:53 +01:00
artemis-pom ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-protocols ARTEMIS-4919 Handle Exception from proton transport process 2024-07-15 15:34:21 +01:00
artemis-ra ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-selector [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-server ARTEMIS-4794 configure pending ack behavior for bridge 2024-07-15 18:19:39 +01:00
artemis-server-osgi ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-service-extensions ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-unit-test-support [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
artemis-web ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
artemis-website ARTEMIS-4872: use explicit annotationProcessorPaths compiler config 2024-06-28 16:49:27 +01:00
docs ARTEMIS-4914 clarify docs on core + client ID 2024-07-12 11:03:04 -07:00
etc ARTEMIS-4848 Bump org.codehaus.mojo:javacc-maven-plugin from 2.6 to 3.1.0 2024-06-26 14:20:53 -05:00
scripts NO-JIRA change one-test.sh to redirect test output to System.out 2024-07-10 10:03:29 -04:00
tests ARTEMIS-4794 configure pending ack behavior for bridge 2024-07-15 18:19:39 +01:00
.asf.yaml NO-JIRA: have github commit log display auto-link ARTEMIS Jira project references 2023-09-21 11:36:41 +01:00
.gitignore ARTEMIS-4383 migrate user docs to AsciiDoc 2023-08-02 16:21:06 -04:00
.project More name changes to activemq 2014-11-19 16:01:54 -05:00
LICENSE ARTEMIS-4383: add RAT config to fix the build, and LICENSE updates to reflect the new files 2023-08-03 13:04:47 +01:00
NOTICE NO-JIRA update NOTICE files! Happy new year 2024-01-03 09:16:19 -05:00
README.md Clarify classic wording 2024-02-19 16:06:40 -06:00
RELEASING.md NO-JIRA fix relase doc formatting 2024-03-19 14:01:27 -05:00
artemis_doap.rdf Update vendor to ASF 2015-05-30 08:37:28 +02:00
pom.xml ARTEMIS-4847: update jgroups to 5.3.9 2024-07-15 12:34:47 +01:00

README.md

Welcome to Apache ActiveMQ Artemis

ActiveMQ Artemis is the next generation message broker from Apache ActiveMQ.

Getting Started

See the User Manual for an in-depth explanation of all aspects of broker configuration and behavior.

The ActiveMQ Artemis Examples repository contains over 90 examples demonstrating many of the client and broker features.

How to Build, etc.

See the Hacking Guide for details about modifying the code, building the project, running tests, IDE integration, etc.

Migrate from ActiveMQ Classic

See the Migration Guide for information about the architectural and configuration differences between ActiveMQ Classic and ActiveMQ Artemis.

Report an Issue

See our website for details on how to report an bug, request a feature, etc.