If Util is installed locally, it will only be loaded by the application 
ClassLoader, since it isn't preferred.

Peter.

----- Original message -----
> Folks,
> while woking on the River-436 patch proposal I've came across the 
> scenario that I am not sure how to handle:
> 
> Utility service:
> //inteface is NOT preferred
> interface Util {...}
> //class IS preferred
> class UtilProxy implements Util {}
> 
> Wrapper service:
> //NOT preferred
> interface Wrapper {}
> //preferred
> class WrapperProxy implements Serializable{
>       //initialized with Util impl from a lookup service
>       private Util util;
> }
> 
> Wrapper service codebase includes Util interface but it is _preferred_.
> 
> Would deserialization of WrapperProxy end with ClassCastException?
>   From what I understand UtilProxy is annotated with its codebase. When 
> deserializing UtilProxy a ClassLoader is going to be created with parent 
> set to TCCL. It means Util interface is going to be loaded twice by two 
> ClassLoaders - one for WrapperProxy codebase and another for UtilProxy 
> codebase.
> 
> Am I correct?
> And if so: is it desired behavior?
> 
> Regards,
> 
> -- 
> Michał Kłeczek
> XPro Quality Matters
> http://www.xpro.biz
> 

Reply via email to