You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Mark Struberg (JIRA)" <ji...@apache.org> on 2013/01/24 08:41:13 UTC

[jira] [Created] (OWB-769) Serialisation support for our new InterceptorDecoratorProxies

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