public Object writeReplace(final Object original) { if (original instanceof URIAffinity) { if (peerUriAffinity != null && original.equals(peerUriAffinity) && peerNodeAffinity != null) { return peerNodeAffinity; } return Affinity.NONE; } else if (original == Affinity.LOCAL && selfNodeAffinity != null) { // Swap a local affinity with a node affinity with the name of this node return selfNodeAffinity; } else if (original instanceof AbstractEJBMetaData) { return new EJBMetaDataImpl((AbstractEJBMetaData<?, ?>) original); } else if (original instanceof RemoteExceptionCause) { // old clients will not have this class return ((RemoteExceptionCause) original).toPlainThrowable(); } return super.writeReplace(original); } }
public Object writeReplace(final Object original) { if (original instanceof URIAffinity) { if (peerUriAffinity != null && original.equals(peerUriAffinity) && peerNodeAffinity != null) { return peerNodeAffinity; } return Affinity.NONE; } else if (original == Affinity.LOCAL && selfNodeAffinity != null) { // Swap a local affinity with a node affinity with the name of this node return selfNodeAffinity; } else if (original instanceof AbstractEJBMetaData) { return new EJBMetaDataImpl((AbstractEJBMetaData<?, ?>) original); } else if (original instanceof RemoteExceptionCause) { // old clients will not have this class return ((RemoteExceptionCause) original).toPlainThrowable(); } return super.writeReplace(original); } }
public Object writeReplace(final Object original) { if (original instanceof URIAffinity) { if (peerUriAffinity != null && original.equals(peerUriAffinity) && peerNodeAffinity != null) { return peerNodeAffinity; } return Affinity.NONE; } else if (original == Affinity.LOCAL && selfNodeAffinity != null) { // Swap a local affinity with a node affinity with the name of this node return selfNodeAffinity; } else if (original instanceof AbstractEJBMetaData) { return new EJBMetaDataImpl((AbstractEJBMetaData<?, ?>) original); } else if (original instanceof RemoteExceptionCause) { // old clients will not have this class return ((RemoteExceptionCause) original).toPlainThrowable(); } return super.writeReplace(original); } }
@Override public Object processInvocation(final InterceptorContext context) throws Exception { return new EJBMetaDataImpl(remoteClass, homeClass, pkClass, session, stateless, (EJBHome) homeView.getValue().createInstance().getInstance()); } };