[
https://issues.apache.org/jira/browse/ARIES-47?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeremy Hughes updated ARIES-47:
-------------------------------
Fix Version/s: 0.1
> Add interceptor concept to aries blueprint.
> -------------------------------------------
>
> Key: ARIES-47
> URL: https://issues.apache.org/jira/browse/ARIES-47
> Project: Aries
> Issue Type: New Feature
> Components: Blueprint
> Reporter: Andrew Osborne
> Assignee: Andrew Osborne
> Fix For: 0.1
>
> Attachments: asm_subclass_proxy_patch.txt
>
>
> Add support for 'interceptors' to Aries blueprint.
> The concept is to allow interceptors to be configured for a bean, so that
> whenever invocations are made to methods on the bean, the interceptors are
> notified before the call, and after the call.
> An interceptors intent is not to modify the arguments to the call, or the
> return from the call, but merely to be notified, and to be able to inspect
> the arguments that were passed (if any), and the response/exception returned
> (if any).
> Interceptor would be added as a new Interface, at the same level as
> BeanProcessor, and the ComponentDefinitionRegistry enhanced to allow
> Interceptors to be registered against BeanMetadata.
> NamespaceHandlers will be able to add interceptors via the ParserContext when
> invoked to handle custom elements/attributes.
> Interceptors would 'see' : The bean metadata for the invocation, The method
> being / that-was invoked, and any Arguments/Return data/Exceptions.
> Interceptors would be implemented by dynamically creating a subclass of the
> bean that wrappers the original instance of the bean, replacing the bean in
> the blueprint container.
> (CGlib looks interesting for the dynamic subclass, although potentially
> problematic regarding classes without default zero-arg constructors, if not
> cglib, then lower using the asm library instead)
> The dynamic subclass will coordinate invoking the interceptors, and the
> delegation of the call to the instance of the bean.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.