Package oracle.jdbc.xa.client

## Class OracleXAHeteroCloseCallback

- java.lang.Object
- - oracle.jdbc.xa.client.OracleXAHeteroCloseCallback

All Implemented Interfaces:
  `Diagnosable`, `PropertyChangeListener`, `oracle.jdbc.driver.OracleCloseCallback`, `oracle.jdbc.internal.Monitor`

    public class OracleXAHeteroCloseCallback
    extends java.lang.Object
    implements oracle.jdbc.driver.OracleCloseCallback, oracle.jdbc.internal.Monitor, Diagnosable

This class implements the OracleCloseCallback interface that is defined in oracle.jdbc.driver. It is used to close a physical connection to an RM instance, and unregister this RM instance from C-XA's current thread of control. An instance of this class should be registered with an OracleXAConnection/OraclePooledConnection, using the registerCloseCallback() method in the OraclePooledConnection class to function, like: ((OracleXAConnection) xaconn).registerCloseCallback( new OracleXAHeteroCloseCallback(), new SomeUserObject());

### Nested Class Summary

### Nested classes/interfaces inherited from interface oracle.jdbc.internal.Monitor

`oracle.jdbc.internal.Monitor.CloseableLock, oracle.jdbc.internal.Monitor.WaitableMonitor`

### Constructor Summary

Constructors
`OracleXAHeteroCloseCallback()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `afterClose​(java.lang.Object privData)`
`void` `beforeClose​(oracle.jdbc.internal.OracleConnection conn, java.lang.Object obj)`
`protected oracle.jdbc.internal.OracleConnection` `getConnectionDuringExceptionHandling()`
`Diagnosable` `getDiagnosable()`
`oracle.jdbc.internal.Monitor.CloseableLock` `getMonitorLock()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface oracle.jdbc.diagnostics.Diagnosable

`begin, beginCurrentSql, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debugp, end, endCurrentSql, format, isDebugEnabled, isDiagnoseFirstFailureEnabled, isLoggable, isSensitiveEnabled, onClose, propertyChange, resumeLogging, secure, suspendLogging, trace, tracep`

### Methods inherited from interface oracle.jdbc.internal.Monitor

`acquireCloseableLock, acquireLock, assertLockHeldByCurrentThread, isReentrantLock, releaseLock`

### Constructor Detail

#### OracleXAHeteroCloseCallback

    public OracleXAHeteroCloseCallback()

### Method Detail

#### beforeClose

    public void beforeClose​(oracle.jdbc.internal.OracleConnection conn,
                            java.lang.Object obj)

Specified by:
  `beforeClose` in interface `oracle.jdbc.driver.OracleCloseCallback`

#### afterClose

    public void afterClose​(java.lang.Object privData)

Specified by:
  `afterClose` in interface `oracle.jdbc.driver.OracleCloseCallback`

#### getConnectionDuringExceptionHandling

    protected oracle.jdbc.internal.OracleConnection getConnectionDuringExceptionHandling()

#### getMonitorLock

    public final oracle.jdbc.internal.Monitor.CloseableLock getMonitorLock()

Specified by:
  `getMonitorLock` in interface `oracle.jdbc.internal.Monitor`

#### getDiagnosable

    public Diagnosable getDiagnosable()

Specified by:
  `getDiagnosable` in interface `Diagnosable`
Returns: