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 >