[
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