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 readResolve(final Object replacement) { if (replacement instanceof EJBMetaDataImpl) { return ((EJBMetaDataImpl) replacement).toAbstractEJBMetaData(); } else if (replacement instanceof NodeAffinity) { if (replacement.equals(selfNodeAffinity)) { // Peer sent our node name; make it local return Affinity.LOCAL; } else if (preferUri && peerUriAffinity != null && replacement.equals(peerNodeAffinity)) { // Peer (server) sent their own node name; make it a URI if we can return peerUriAffinity; } } else if(replacement == Affinity.NONE) { return peerUriAffinity; } return replacement; }
final EJBMetaDataImpl metadata = (EJBMetaDataImpl) object; Class<?> pk = null; if (!metadata.isSession()) { pk = metadata.getPrimaryKeyClass(); final EJBLocator<?> locator = EJBClient.getLocatorFor(metadata.getEJBHome()); final EjbIIOPService factory = serviceForLocator(locator, deploymentRepository); return new EJBMetaDataImplIIOP(metadata.getRemoteInterfaceClass(), metadata.getHomeInterfaceClass(), pk, metadata.isSession(), metadata.isStatelessSession(), (HomeHandle) factory.handleForLocator(locator)); } else if (object instanceof AbstractEJBMetaData) { final AbstractEJBMetaData<?, ?> metadata = (AbstractEJBMetaData<?, ?>) object;
final EJBMetaDataImpl metadata = (EJBMetaDataImpl) object; Class<?> pk = null; if (!metadata.isSession()) { pk = metadata.getPrimaryKeyClass(); final EJBLocator<?> locator = EJBClient.getLocatorFor(metadata.getEJBHome()); final EjbIIOPService factory = serviceForLocator(locator, deploymentRepository); return new EJBMetaDataImplIIOP(metadata.getRemoteInterfaceClass(), metadata.getHomeInterfaceClass(), pk, metadata.isSession(), metadata.isStatelessSession(), (HomeHandle) factory.handleForLocator(locator));
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 readResolve(final Object replacement) { if (replacement instanceof EJBMetaDataImpl) { return ((EJBMetaDataImpl) replacement).toAbstractEJBMetaData(); } else if (replacement instanceof NodeAffinity) { if (replacement.equals(selfNodeAffinity)) { // Peer sent our node name; make it local return Affinity.LOCAL; } else if (preferUri && peerUriAffinity != null && replacement.equals(peerNodeAffinity)) { // Peer (server) sent their own node name; make it a URI if we can return peerUriAffinity; } } else if(replacement == Affinity.NONE) { return peerUriAffinity; } return replacement; }
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 readResolve(final Object replacement) { if (replacement instanceof EJBMetaDataImpl) { return ((EJBMetaDataImpl) replacement).toAbstractEJBMetaData(); } else if (replacement instanceof NodeAffinity) { if (replacement.equals(selfNodeAffinity)) { // Peer sent our node name; make it local return Affinity.LOCAL; } else if (preferUri && peerUriAffinity != null && replacement.equals(peerNodeAffinity)) { // Peer (server) sent their own node name; make it a URI if we can return peerUriAffinity; } } else if(replacement == Affinity.NONE) { return peerUriAffinity; } return replacement; }
@Override public Object processInvocation(final InterceptorContext context) throws Exception { return new EJBMetaDataImpl(remoteClass, homeClass, pkClass, session, stateless, (EJBHome) homeView.getValue().createInstance().getInstance()); } };