Package org.firebirdsql.gds.ng
Interface FbTransaction
-
- All Superinterfaces:
ExceptionListenable
- All Known Subinterfaces:
FbWireTransaction
- All Known Implementing Classes:
AbstractFbTransaction
,JnaTransaction
,V10Transaction
public interface FbTransaction extends ExceptionListenable
Handle for a transaction.All methods defined in this interface are required to notify all
SQLException
thrown from the methods defined in this interface.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addTransactionListener(TransactionListener listener)
Adds aTransactionListener
to the list of strongly referenced listeners.void
addWeakTransactionListener(TransactionListener listener)
Adds aTransactionListener
to the list of weakly referenced listeners.void
commit()
Commit the transactionint
getHandle()
TransactionState
getState()
long
getTransactionId()
Retrieves the transaction id.byte[]
getTransactionInfo(byte[] requestItems, int maxBufferLength)
Performs a transaction info request.<T> T
getTransactionInfo(byte[] requestItems, int bufferLength, InfoProcessor<T> infoProcessor)
Request transaction info.void
prepare(byte[] recoveryInformation)
Prepare the transaction for two-phase commit/rollback.void
removeTransactionListener(TransactionListener listener)
Removes theTransactionListener
from the list of listeners.void
rollback()
Roll back the transaction-
Methods inherited from interface org.firebirdsql.gds.ng.listeners.ExceptionListenable
addExceptionListener, removeExceptionListener
-
-
-
-
Method Detail
-
getState
TransactionState getState()
- Returns:
- Current transaction state
-
getHandle
int getHandle()
- Returns:
- The Firebird transaction handle identifier
-
addTransactionListener
void addTransactionListener(TransactionListener listener)
Adds aTransactionListener
to the list of strongly referenced listeners.- Parameters:
listener
- TransactionListener to register
-
addWeakTransactionListener
void addWeakTransactionListener(TransactionListener listener)
Adds aTransactionListener
to the list of weakly referenced listeners.If the listener is already strongly referenced, this call will be ignored
- Parameters:
listener
- TransactionListener to register
-
removeTransactionListener
void removeTransactionListener(TransactionListener listener)
Removes theTransactionListener
from the list of listeners.- Parameters:
listener
- TransactionListener to remove
-
commit
void commit() throws java.sql.SQLException
Commit the transaction- Throws:
java.sql.SQLException
-
rollback
void rollback() throws java.sql.SQLException
Roll back the transaction- Throws:
java.sql.SQLException
-
prepare
void prepare(byte[] recoveryInformation) throws java.sql.SQLException
Prepare the transaction for two-phase commit/rollback.- Parameters:
recoveryInformation
- Transaction recovery information (stored in RDB$TRANSACTION_DESCRIPTION of RDB$TRANSACTIONS), ornull
to prepare without recovery information.- Throws:
java.sql.SQLException
-
getTransactionInfo
<T> T getTransactionInfo(byte[] requestItems, int bufferLength, InfoProcessor<T> infoProcessor) throws java.sql.SQLException
Request transaction info.- Parameters:
requestItems
- Array of info items to requestbufferLength
- Response buffer length to useinfoProcessor
- Implementation ofInfoProcessor
to transform the info response- Returns:
- Transformed info response of type T
- Throws:
java.sql.SQLException
- For errors retrieving or transforming the response.
-
getTransactionInfo
byte[] getTransactionInfo(byte[] requestItems, int maxBufferLength) throws java.sql.SQLException
Performs a transaction info request.- Parameters:
requestItems
- Information items to requestmaxBufferLength
- Maximum response buffer length to use- Returns:
- The response buffer (note: length is the actual length of the
response, not
maxBufferLength
- Throws:
java.sql.SQLException
- For errors retrieving the information.
-
getTransactionId
long getTransactionId() throws java.sql.SQLException
Retrieves the transaction id.The transaction id is the database transaction id, not to be confused with the attachment level transaction handle provided by
getHandle()
.- Returns:
- Database transaction id.
- Throws:
java.sql.SQLException
-
-