[jboss-jira] [JBoss JIRA] (AS7-5897) Allow user applications to introduce server side non-EE interceptors for EE invocations
Fernando Rubbo (JIRA)
jira-events at lists.jboss.org
Fri Nov 30 10:47:21 EST 2012
[ https://issues.jboss.org/browse/AS7-5897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738579#comment-12738579 ]
Fernando Rubbo commented on AS7-5897:
-------------------------------------
I know my vote doesn't count, but I think the #2 is the best idea.
I would be happy if you could prioritize this.
> Allow user applications to introduce server side non-EE interceptors for EE invocations
> ---------------------------------------------------------------------------------------
>
> Key: AS7-5897
> URL: https://issues.jboss.org/browse/AS7-5897
> Project: Application Server 7
> Issue Type: Feature Request
> Components: EE, EJB
> Affects Versions: 7.1.3.Final (EAP)
> Reporter: jaikiran pai
> Assignee: jaikiran pai
> Fix For: 7.2.0.Alpha1
>
>
> One of the topics that we discussed in the AS meeting was the use case where users have been demanding for a way to run their application specific interceptors before some of the server side app server specific interceptors and user application specific EE interceptors are run. This will allow for the user applications to have a way to pass in additional information (like security related info) to the server side interceptors (like the security interceptor) so that the information can then be made use for deciding whether or not the call should be allowed to happen or not. We used to allow to do this in previous versions of a AS via AOP but there's no current way to do it in AS7. The EE interceptors come into picture too late.
> Some approaches have been discussed around this, during the meeting, with the goal that whatever approach we introduce should be something that we should be able to "support" for a long time without having to ask the users to migrate to a newer way of doing this, in every other major release:
> 1) Allow the interceptors to use jboss-invocation library to use the interceptor API and implement their interceptors. The advantage of this approach as compared with the other approaches below, is that the semantics of this interceptor interface is something that "we" can decide and wouldn't matter if it conflicts with the semantics of the EE specific interceptors (for ex: EE specific interceptors have a invocationCtx.getTarget() which won't make sense for server side interceptors which are being invoked *before* the application component has been created)
> 2) Allow the user applications to just use the EE interceptor API for these intereceptors and we explicitly state that certain APIs like invocationCtx.getTarget() will have different semantics when run as a "system interceptor"
> 3) Introduce a very small/tiny API (EarlyEEInvocationContext as David calls it :)) which exposes limited semantics that the interceptors can rely on.
> We are leaning more towards #2 since that wouldn't need any new library or API for these interceptors, but would only require an explicit documentation of what's allowed and what's not in such interceptors.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list