Mark Struberg created OWB-769:
---------------------------------
Summary: Serialisation support for our new
InterceptorDecoratorProxies
Key: OWB-769
URL: https://issues.apache.org/jira/browse/OWB-769
Project: OpenWebBeans
Issue Type: Bug
Components: Core
Affects Versions: 1.2.0
Reporter: Mark Struberg
Assignee: Mark Struberg
Fix For: 1.2.0
Our InterceptorDecorator Proxies are dynamically created subclasses with class
collision prevention. This means that a new class will get generated if the
given class is already defined in the given ClassLoader. This happens by
dynamically adding a number to the proxy class name.
This mechanism means that it is not guaranteed that a proxy-class already
exists on the target system and also that the effective name of the proxy-class
could change depending on the node.
To work around this limitation we need to generate a writeReplace method into
the generated interceptor proxy which solely serialises the InterceptorHandler
as replacement object. The de-serialisation on the InterceptorHandler surrogate
will result in a readResolve() which restores the proxy class by asking the
InterceptorDecoratorProxyFactory for a new proxy instance.
Since the InterceptorHandler contains all needed information like the
intercepted instance, all the Interceptor and Decorator instances, etc, we
should need no further information from the proxy instance itself.
--
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