GitHub user cshannon opened a pull request:
https://github.com/apache/activemq-artemis/pull/1242
ARTEMIS-898 - Adding Plugin Support
Adding a new ActievMQServerPlugin interface to support adding custom
behavior to the broker at certain events such as connection or session
creation. I know that 2.1.0 should be done soon so not sure if it is best to
wait to merge this in for 2.2.0.
For now this is a good start but there will probably be additional hooks to
add at some point. There are some basic sanity tests to verify that the plugin
methods are called but more in depth tests will come if we write some real
plugins to ship with the broker.
Also one thing I want to spend some more time verifying is exception
handling. The plugin api has no checked exceptions so any exception that
occurs in a plugin either needs to be handled by the plugin or be a runtime
exception. So I want to go through and verify that if unchecked exceptions are
thrown at various points the broker will handle the exceptions properly (ie
notify the client if necessary, etc). Not sure if this will require a jira or
not (only improvements are necessary)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/cshannon/activemq-artemis ARTEMIS-898
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/1242.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1242
----
commit a7818740333cde9434aca3b4023760f239bc0223
Author: Christopher L. Shannon (cshannon) <[email protected]>
Date: 2017-05-02T13:46:17Z
ARTEMIS-898 - Adding Plugin Support
Adding a new ActievMQServerPlugin interface to support adding custom
behavior to the broker at certain events such as connection or session
creation.
https://issues.apache.org/jira/browse/ARTEMIS-898
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---