[ 
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

Reply via email to