You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Timothy Ward (JIRA)" <ji...@apache.org> on 2013/08/02 15:29:48 UTC

[jira] [Updated] (ARIES-1093) Aries proxy doesn't work properly on uninstall/reinstall

     [ https://issues.apache.org/jira/browse/ARIES-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Ward updated ARIES-1093:
--------------------------------

    Description: 
There are a couple of problems with the Aries Proxy code if you do install/uninstall cycles:

Firstly the Aries subclass generator uses Class.forName(String) in the static initializers of the classes that it generates. This works, but we need to pass the correct ClassLoader to avoid odd caching bugs (See http://blog.bjhargrave.com/2007/09/classforname-caches-defined-class-in.html)

Secondly, if the API is installed separately, then reinstalling the Proxy Impl breaks proxying. The existing woven classes stay woven but new woven subclasses use a different unique name for the WovenProxy fields. This causes NoSuchFieldError to be thrown.

  was:
There are a couple of problems with the Aries Proxy code if you do install/uninstall cycles:

Firstly the Aries subclass generator uses Class.forName(String) in the static initializers of the classes that it generates. This works, but we need to pass the correct ClassLoader to avoid odd caching bugs (See http://blog.bjhargrave.com/2007/09/classforname-caches-defined-class-in.html)

Secondly, if the API is installed separately, then reinstalling the Proxy Impl breaks proxying. The existing woven classes stay woven (the API provides WovenProxy, which it probably shouldn't) but new woven subclasses use a different unique name for the WovenProxy fields. This causes NoSuchFieldError to be thrown.

    
> Aries proxy doesn't work properly on uninstall/reinstall
> --------------------------------------------------------
>
>                 Key: ARIES-1093
>                 URL: https://issues.apache.org/jira/browse/ARIES-1093
>             Project: Aries
>          Issue Type: Bug
>            Reporter: Timothy Ward
>            Priority: Critical
>
> There are a couple of problems with the Aries Proxy code if you do install/uninstall cycles:
> Firstly the Aries subclass generator uses Class.forName(String) in the static initializers of the classes that it generates. This works, but we need to pass the correct ClassLoader to avoid odd caching bugs (See http://blog.bjhargrave.com/2007/09/classforname-caches-defined-class-in.html)
> Secondly, if the API is installed separately, then reinstalling the Proxy Impl breaks proxying. The existing woven classes stay woven but new woven subclasses use a different unique name for the WovenProxy fields. This causes NoSuchFieldError to be thrown.

--
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