All Downloads are FREE. Search and download functionalities are using the official Maven repository.

bitronix.tm.resource.common.DeferredReleaseSynchronization Maven / Gradle / Ivy

There is a newer version: 2.1.4
Show newest version
package bitronix.tm.resource.common;

import javax.transaction.Synchronization;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import bitronix.tm.BitronixTransaction;

/**
 * {@link Synchronization} used to release a {@link XAStatefulHolder} object after 2PC has executed.
 * 

© Bitronix Software

* * @author lorban */ public class DeferredReleaseSynchronization implements Synchronization { private final static Logger log = LoggerFactory.getLogger(DeferredReleaseSynchronization.class); private XAStatefulHolder xaStatefulHolder; public DeferredReleaseSynchronization(XAStatefulHolder xaStatefulHolder) { this.xaStatefulHolder = xaStatefulHolder; } public XAStatefulHolder getXAStatefulHolder() { return xaStatefulHolder; } public void afterCompletion(int status) { if (log.isDebugEnabled()) log.debug("DeferredReleaseSynchronization requeuing " + xaStatefulHolder); // set this connection's state back to IN_POOL xaStatefulHolder.setState(XAResourceHolder.STATE_IN_POOL); if (log.isDebugEnabled()) log.debug("DeferredReleaseSynchronization requeued " + xaStatefulHolder); } public void beforeCompletion() { } public String toString() { return "a DeferredReleaseSynchronization of " + xaStatefulHolder; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy