## org.hibernate.engine.jdbc.spi
Interface JdbcCoordinator

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  JdbcCoordinatorImpl

    public interface JdbcCoordinator

extends Serializable

Coordinates JDBC-related activities.

Method Summary
`void` `abortBatch()` Abort the currently managed batch (if any)
`void` `afterTransaction()` Signals the end of transaction.
`void` `cancelLastQuery()` Attempt to cancel the last query sent to the JDBC driver.
`Connection` `close()` Close this coordinator and release and resources.

`

`<T> T`

`

`coordinateWork(WorkExecutorVisitable<T> work)`
Perform the requested work handling exceptions, coordinating and handling return processing.

`int` `determineRemainingTransactionTimeOutPeriod()` Calculate the amount of time, in seconds, still remaining before transaction timeout occurs.
`void` `executeBatch()` Execute the currently managed batch (if any)
`void` `flushBeginning()` Callback to let us know that a flush is beginning.
`void` `flushEnding()` Callback to let us know that a flush is ending.
`Batch` `getBatch(BatchKey key)` Get a batch instance.
`LogicalConnectionImplementor` `getLogicalConnection()` Retrieves the logical connection associated with this JDBC coordinator.
`StatementPreparer` `getStatementPreparer()` Obtain the statement preparer associated with this JDBC coordinator.
`TransactionCoordinator` `getTransactionCoordinator()` Retrieve the transaction coordinator associated with this JDBC coordinator.
`void` `setTransactionTimeOut(int seconds)` Set the effective transaction timeout period for the current transaction, in seconds.

Method Detail

### getTransactionCoordinator

    TransactionCoordinator getTransactionCoordinator()

  Retrieve the transaction coordinator associated with this JDBC coordinator.

  Returns:
    The transaction coordinator

### getLogicalConnection

    LogicalConnectionImplementor getLogicalConnection()

  Retrieves the logical connection associated with this JDBC coordinator.

  Returns:
    The logical connection

### getBatch

    Batch getBatch(BatchKey key)

  Get a batch instance.

  Parameters:
    `key` - The unique batch key.
  Returns:
    The batch

### executeBatch

    void executeBatch()

  Execute the currently managed batch (if any)

### abortBatch

    void abortBatch()

  Abort the currently managed batch (if any)

### getStatementPreparer

    StatementPreparer getStatementPreparer()

  Obtain the statement preparer associated with this JDBC coordinator.

  Returns:
    This coordinator's statement preparer

### flushBeginning

    void flushBeginning()

  Callback to let us know that a flush is beginning. We use this fact to temporarily circumvent aggressive connection releasing until after the flush cycle is complete `flushEnding()`

### flushEnding

    void flushEnding()

  Callback to let us know that a flush is ending. We use this fact to stop circumventing aggressive releasing connections.

### close

    Connection close()

  Close this coordinator and release and resources.

  Returns:
    The `Connection` associated with the managed `logical connection`
  See Also:
    `LogicalConnection.close()`

### afterTransaction

    void afterTransaction()

  Signals the end of transaction.

  Intended for use from the transaction coordinator, after local transaction completion. Used to conditionally release the JDBC connection aggressively if the configured release mode indicates.

### coordinateWork

    <T> T coordinateWork(WorkExecutorVisitable<T> work)

  Perform the requested work handling exceptions, coordinating and handling return processing.

  Type Parameters:
    `T` - The result type.
  Parameters:
    `work` - The work to be performed.
  Returns:
    The work result.

### cancelLastQuery

    void cancelLastQuery()

  Attempt to cancel the last query sent to the JDBC driver.

### setTransactionTimeOut

    void setTransactionTimeOut(int seconds)

  Set the effective transaction timeout period for the current transaction, in seconds.

  Parameters:
    `seconds` - The number of seconds before a time out should occur.

### determineRemainingTransactionTimeOutPeriod

    int determineRemainingTransactionTimeOutPeriod()

  Calculate the amount of time, in seconds, still remaining before transaction timeout occurs.

  Returns:
    The number of seconds remaining until until a transaction timeout occurs. A negative value indicates no timeout was requested.
  Throws:
    `TransactionException` - Indicates the time out period has already been exceeded.

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.