org.springframework.jms.connection
Class ConnectionFactoryUtils.JmsResourceSynchronization

java.lang.Object
  extended by org.springframework.transaction.support.ResourceHolderSynchronization<JmsResourceHolder,java.lang.Object>
      extended by org.springframework.jms.connection.ConnectionFactoryUtils.JmsResourceSynchronization
All Implemented Interfaces:
TransactionSynchronization
Enclosing class:
ConnectionFactoryUtils

private static class ConnectionFactoryUtils.JmsResourceSynchronization
extends ResourceHolderSynchronization<JmsResourceHolder,java.lang.Object>

Callback for resource cleanup at the end of a non-native JMS transaction (e.g. when participating in a JtaTransactionManager transaction).

See Also:
JtaTransactionManager

Field Summary
private  boolean transacted
           
 
Fields inherited from interface org.springframework.transaction.support.TransactionSynchronization
STATUS_COMMITTED, STATUS_ROLLED_BACK, STATUS_UNKNOWN
 
Constructor Summary
ConnectionFactoryUtils.JmsResourceSynchronization(JmsResourceHolder resourceHolder, java.lang.Object resourceKey, boolean transacted)
           
 
Method Summary
protected  void processResourceAfterCommit(JmsResourceHolder resourceHolder)
          After-commit callback for the given resource holder.
protected  void releaseResource(JmsResourceHolder resourceHolder, java.lang.Object resourceKey)
          Release the given resource (after it has been unbound from the thread).
protected  boolean shouldReleaseBeforeCompletion()
          Return whether this holder's resource should be released before transaction completion (true) or rather after transaction completion (false).
 
Methods inherited from class org.springframework.transaction.support.ResourceHolderSynchronization
afterCommit, afterCompletion, beforeCommit, beforeCompletion, cleanupResource, flush, flushResource, resume, shouldUnbindAtCompletion, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transacted

private final boolean transacted
Constructor Detail

ConnectionFactoryUtils.JmsResourceSynchronization

public ConnectionFactoryUtils.JmsResourceSynchronization(JmsResourceHolder resourceHolder,
                                                         java.lang.Object resourceKey,
                                                         boolean transacted)
Method Detail

shouldReleaseBeforeCompletion

protected boolean shouldReleaseBeforeCompletion()
Description copied from class: ResourceHolderSynchronization
Return whether this holder's resource should be released before transaction completion (true) or rather after transaction completion (false).

Note that resources will only be released when they are unbound from the thread (ResourceHolderSynchronization.shouldUnbindAtCompletion()).

The default implementation returns true.

Overrides:
shouldReleaseBeforeCompletion in class ResourceHolderSynchronization<JmsResourceHolder,java.lang.Object>
See Also:
ResourceHolderSynchronization.releaseResource(H, K)

processResourceAfterCommit

protected void processResourceAfterCommit(JmsResourceHolder resourceHolder)
Description copied from class: ResourceHolderSynchronization
After-commit callback for the given resource holder. Only called when the resource hasn't been released yet (ResourceHolderSynchronization.shouldReleaseBeforeCompletion()).

Overrides:
processResourceAfterCommit in class ResourceHolderSynchronization<JmsResourceHolder,java.lang.Object>
Parameters:
resourceHolder - the resource holder to process

releaseResource

protected void releaseResource(JmsResourceHolder resourceHolder,
                               java.lang.Object resourceKey)
Description copied from class: ResourceHolderSynchronization
Release the given resource (after it has been unbound from the thread).

Overrides:
releaseResource in class ResourceHolderSynchronization<JmsResourceHolder,java.lang.Object>
Parameters:
resourceHolder - the resource holder to process
resourceKey - the key that the ResourceHolder was bound for