[
https://issues.apache.org/jira/browse/ARTEMIS-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16116961#comment-16116961
]
ASF GitHub Bot commented on ARTEMIS-1327:
-----------------------------------------
Github user cshannon commented on the issue:
https://github.com/apache/activemq-artemis/pull/1445
@clebertsuconic - So I just realized that I don't think we want to swallow
exceptions. If there's an exception in the plugin don't we want it to
propagate? There are 2 cases for exceptions, the first is a buggy plugin and
that just means the plugin should be fixed. The second is if there is an
actual error and I think that error should be propagated and not just logged.
For example, one of my use cases for this is I want to validate clientIds.
So I want to throw an exception and reject a clientId in the
beforeSessionMetadataAdded method if it doesn't meet some criteria and have it
propagated back to the client. (There's actually another Jira I need to open
to make this work properly to make sure the exception is thrown back to the
client).
> Support checked exceptions from ActiveMQServerPlugin
> ----------------------------------------------------
>
> Key: ARTEMIS-1327
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1327
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: Broker
> Reporter: Christopher L. Shannon
> Assignee: Christopher L. Shannon
> Fix For: 2.3.0
>
>
> After I was writing a couple custom plugins I realized it would be beneficial
> to support checked exceptions. This makes error handling simpler for plugin
> writers as they can throw various exceptions and not have to always wrap them
> in a RuntimeException. Almost every place in the broker where plugin methods
> are currently called already support handling checked Exceptions so this is
> pretty simple and mostly we just need to add a "throws Exception" to each of
> the methods in the ActiveMQServerPlugin interface and make sure the methods
> used to execute the plugin methods also support it.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)