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

Reply via email to