Description
ActiveMQ 5.x currently has a number of extension points via Plugins, or simple Spring bean wiring. Artemis should provide extension points to meet various requirements.
The protocol interceptors are handy, but also limiting in that each plugin would need to be implemented for every protocol. Feels like there should be defined extension point(s) within the broker.
Core Broker Plugins:
1. Message header / property manipulation
2. Message body manipulation
3. Activity tracing (broker becomes master, network bridge start/stop, message rcv/sent/ack/rollback, consumer/producer add/remove, broker add/remove, destination add/remove, connection add/remove, fast producer/slow consumer, etc)
a. Audit / trace logs
b. Triggers based on events
ref: http://activemq.apache.org/maven/apidocs/org/apache/activemq/broker/MutableBrokerFilter.html
Additional extension point:
DestinationPolicies: Ability to impact destination behaviors for dispatch, subscription policies, etc.
Side benefit regarding Advisory Support:
If the plugin framework can get squared away, an upside could be that Advisory support becomes a plugin vs an ingrained feature and we could have more control over configuration and behavior.
From ARTEMIS-17
Support for using Camel as an interceptor/plugin
Attachments
Issue Links
- duplicates
-
ARTEMIS-17 Add Broker Interceptor - like the Camel Broker Component in ActiveMQ 5
- Closed
- is related to
-
ARTEMIS-1633 ActiveMQServerPlugin message routing callbacks should fire for all results
- Resolved
-
ARTEMIS-1172 ActiveMQServerPlugin beforeDeliver and afterDeliver should pass in the ServerConsumer
- Closed
-
ARTEMIS-1619 Add plugin support for address creation, update and removal
- Resolved
-
ARTEMIS-1347 ActiveMQServerPlugin beforeCreateConsumer should have the QueueBinding as an argument
- Resolved
- relates to
-
ARTEMIS-1145 Artemis ServerPlugin support for Transactions
- Open
-
ARTEMIS-1146 Artemis ServerPlugin support for Broker state change
- Open
-
ARTEMIS-1147 Artemis ServerPlugin support for Broker resource limits reached or exceeded
- Open
-
ARTEMIS-1149 Artemis ServerPlugin support for Broker Cluster operations
- Open
-
ARTEMIS-1148 Artemis ServerPlugin support for Address changes
- Resolved
-
ARTEMIS-796 Add support for advisory messages
- Closed
- links to