Interface OracleSessionlessTransactionPropagationOperations
public interface OracleSessionlessTransactionPropagationOperations
Operations for non-HTTP propagation of Oracle sessionless transaction identifiers.
The HTTP server filter installs the same propagation state for HTTP requests. Code running outside HTTP can use this API to create an equivalent propagation scope and exchange encoded transaction identifiers with other transports.
- Since:
- 5.2.0
-
Method Summary
Modifier and TypeMethodDescriptionvoidClears the current transaction identifier from the active propagation state.voidsetTransactionId(String encodedTransactionId) Replaces the current transaction identifier in the active propagation state.<T extends @Nullable Object>
TwithPropagation(String encodedTransactionId, Supplier<T> supplier) Executes the supplier with an Oracle sessionless transaction identifier already available to resume.<T extends @Nullable Object>
TwithPropagation(Supplier<T> supplier) Executes the supplier with an empty Oracle sessionless transaction propagation state.
-
Method Details
-
withPropagation
-
withPropagation
Executes the supplier with an Oracle sessionless transaction identifier already available to resume.- Type Parameters:
T- The result type- Parameters:
encodedTransactionId- The transaction identifier encoded byOracleSessionlessTransactionIdCodecsupplier- The supplier to execute- Returns:
- The supplier result
-
currentTransactionId
- Returns:
- The current transaction identifier encoded by
OracleSessionlessTransactionIdCodec, if one is available
-
setTransactionId
Replaces the current transaction identifier in the active propagation state.- Parameters:
encodedTransactionId- The transaction identifier encoded byOracleSessionlessTransactionIdCodec
-
clearTransactionId
void clearTransactionId()Clears the current transaction identifier from the active propagation state.
-