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