activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-898) Artemis Plugin Support
Date Wed, 03 May 2017 11:38:04 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15994698#comment-15994698
] 

ASF GitHub Bot commented on ARTEMIS-898:
----------------------------------------

Github user cshannon commented on the issue:

    https://github.com/apache/activemq-artemis/pull/1242
  
    Yeah I thought about that but wasn't sure how much of a difference it would really make
in terms of real performance and how the JVM will optimize.  I was trying to keep the code
clean and not have to wrap every plugin call with an if/else check.
    
    What about if I did something like this...replace:
    
    `callPlugins(plugin -> plugin.afterCreateSession(session));`
    
    with 
    
    `callPlugins(getBrokerPlugins().size() > 0 ? plugin -> plugin.afterCreateSession(session)
: null);`
    
    and then the callPlugins method could drop the redundant size check.


> Artemis Plugin Support
> ----------------------
>
>                 Key: ARTEMIS-898
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-898
>             Project: ActiveMQ Artemis
>          Issue Type: New Feature
>          Components: Broker
>            Reporter: Matt Pavlovich
>             Fix For: 2.next
>
>
> 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



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message