public Durable2PCParticipant recreate(String id, byte[] recoveryState) throws Exception { if (id.startsWith(SubordinateATCoordinator.PARTICIPANT_PREFIX)) { InputObjectState ios = new InputObjectState(); ios.setBuffer(recoveryState); String className = ios.unpackString(); Class participantClass = this.getClass().getClassLoader().loadClass(className); Durable2PCParticipant participant = (Durable2PCParticipant)participantClass.newInstance(); ((PersistableParticipant)participant).restoreState(ios); return participant; } return null; }
os.packBoolean(false) ; os.packString(resource.getClass().getName()) ; participant.saveState(os) ;
os.packBoolean(false) ; os.packString(resource.getClass().getName()) ; participant.saveState(os) ;
public Durable2PCParticipant recreate(String id, byte[] recoveryState) throws Exception { if (id.startsWith(SubordinateATCoordinator.PARTICIPANT_PREFIX)) { InputObjectState ios = new InputObjectState(); ios.setBuffer(recoveryState); String className = ios.unpackString(); Class participantClass = this.getClass().getClassLoader().loadClass(className); Durable2PCParticipant participant = (Durable2PCParticipant)participantClass.newInstance(); ((PersistableParticipant)participant).restoreState(ios); return participant; } return null; }
os.packBoolean(false) ; os.packString(resource.getClass().getName()) ; participant.saveState(os) ;
public Durable2PCParticipant recreate(String id, byte[] recoveryState) throws Exception { if (id.startsWith(SubordinateATCoordinator.PARTICIPANT_PREFIX)) { InputObjectState ios = new InputObjectState(); ios.setBuffer(recoveryState); String className = ios.unpackString(); Class participantClass = this.getClass().getClassLoader().loadClass(className); Durable2PCParticipant participant = (Durable2PCParticipant)participantClass.newInstance(); ((PersistableParticipant)participant).restoreState(ios); return participant; } return null; }
public BusinessAgreementWithCoordinatorCompletionParticipant recreateCoordinatorCompletionParticipant(String id, byte[] recoveryState) throws Exception { if (id.startsWith(SubordinateBACoordinator.PARTICIPANT_PREFIX)) { if (!id.endsWith("_CCP")) { // throw an exception because we don't expect participant completion participants at present throw new Exception("XTSBASubordinateRecoveryModule : invalid name for subordinate WS-BA coordinator coordinator completion participant participant " + id); } // ok, try to recreate the participant InputObjectState ios = new InputObjectState(); ios.setBuffer(recoveryState); String className = ios.unpackString(); Class participantClass = this.getClass().getClassLoader().loadClass(className); BusinessAgreementWithCoordinatorCompletionParticipant participant = (BusinessAgreementWithCoordinatorCompletionParticipant)participantClass.newInstance(); ((PersistableParticipant)participant).restoreState(ios); return participant; } return null; }
public BusinessAgreementWithCoordinatorCompletionParticipant recreateCoordinatorCompletionParticipant(String id, byte[] recoveryState) throws Exception { if (id.startsWith(SubordinateBACoordinator.PARTICIPANT_PREFIX)) { if (!id.endsWith("_CCP")) { // throw an exception because we don't expect participant completion participants at present throw new Exception("XTSBASubordinateRecoveryModule : invalid name for subordinate WS-BA coordinator coordinator completion participant participant " + id); } // ok, try to recreate the participant InputObjectState ios = new InputObjectState(); ios.setBuffer(recoveryState); String className = ios.unpackString(); Class participantClass = this.getClass().getClassLoader().loadClass(className); BusinessAgreementWithCoordinatorCompletionParticipant participant = (BusinessAgreementWithCoordinatorCompletionParticipant)participantClass.newInstance(); ((PersistableParticipant)participant).restoreState(ios); return participant; } return null; }
public BusinessAgreementWithCoordinatorCompletionParticipant recreateCoordinatorCompletionParticipant(String id, byte[] recoveryState) throws Exception { if (id.startsWith(SubordinateBACoordinator.PARTICIPANT_PREFIX)) { if (!id.endsWith("_CCP")) { // throw an exception because we don't expect participant completion participants at present throw new Exception("XTSBASubordinateRecoveryModule : invalid name for subordinate WS-BA coordinator coordinator completion participant participant " + id); } // ok, try to recreate the participant InputObjectState ios = new InputObjectState(); ios.setBuffer(recoveryState); String className = ios.unpackString(); Class participantClass = this.getClass().getClassLoader().loadClass(className); BusinessAgreementWithCoordinatorCompletionParticipant participant = (BusinessAgreementWithCoordinatorCompletionParticipant)participantClass.newInstance(); ((PersistableParticipant)participant).restoreState(ios); return participant; } return null; }
/** * Restore the resource state. * @param is The input object stream. * @return The resource if successful, null otherwise. */ public static Object restore_state(final InputObjectState ios) { try { final boolean serializable = ios.unpackBoolean() ; if (serializable) { final ByteArrayInputStream bais = new ByteArrayInputStream(ios.unpackBytes()) ; final ObjectInputStream ois = new ObjectInputStream(bais) ; return ois.readObject() ; } else { final String className = ios.unpackString() ; final Class resourceClass = ClassLoaderHelper.forName(PersistableParticipantHelper.class, className) ; // returns Class not instance final Object resource = resourceClass.newInstance(); ((PersistableParticipant)resource).restoreState(ios) ; return resource ; } } catch (final Throwable th) { wstxLogger.i18NLogger.error_mwlabs_wst_util_PersistableParticipantHelper_3(th); return null; } }
/** * Restore the resource state. * @param is The input object stream. * @return The resource if successful, null otherwise. */ public static Object restore_state(final InputObjectState ios) { try { final boolean serializable = ios.unpackBoolean() ; if (serializable) { final ByteArrayInputStream bais = new ByteArrayInputStream(ios.unpackBytes()) ; final ObjectInputStream ois = new ObjectInputStream(bais) ; return ois.readObject() ; } else { final String className = ios.unpackString() ; final Class resourceClass = ClassLoaderHelper.forName(PersistableParticipantHelper.class, className) ; // returns Class not instance final Object resource = resourceClass.newInstance(); ((PersistableParticipant)resource).restoreState(ios) ; return resource ; } } catch (final Throwable th) { wstxLogger.i18NLogger.error_mwlabs_wst_util_PersistableParticipantHelper_3(th); return null; } }
/** * Restore the resource state. * @param is The input object stream. * @return The resource if successful, null otherwise. */ public static Object restore_state(final InputObjectState ios) { try { final boolean serializable = ios.unpackBoolean() ; if (serializable) { final ByteArrayInputStream bais = new ByteArrayInputStream(ios.unpackBytes()) ; final ObjectInputStream ois = new ObjectInputStream(bais) ; return ois.readObject() ; } else { final String className = ios.unpackString() ; final Class resourceClass = ClassLoaderHelper.forName(PersistableParticipantHelper.class, className) ; // returns Class not instance final Object resource = resourceClass.newInstance(); ((PersistableParticipant)resource).restoreState(ios) ; return resource ; } } catch (final Throwable th) { wstxLogger.i18NLogger.error_mwlabs_wst_util_PersistableParticipantHelper_3(th); return null; } }