tcclib package

Submodules

tcclib.TrmConfig module

class tcclib.TrmConfig.TrmConfig(applPropertiesFilePath)

Bases: object

MicroTx library configurations.

Parameters:

applPropertiesFilePath – trm properties file path

affinity = False
callbackUrl = 'http://localhost:8080'
propagateTraceHeaders = True
resourceManagerId = ''
tmsEndpoint = 'http://localhost:9000/api/v1'
transactionTimeout = 60000
trmProperties = None
xaDataSourceConnectionPoolName = 'tmmLibPool'
xaDataSourceMaxPoolSize = 10
xaDataSourceMinPoolSize = 1
xaTxLLRSupport = False
xaTxLRCSupport = False
xaTxXASupport = True

tcclib.exception module

exception tcclib.exception.InternalServerErrorException

Bases: Exception

Base class for other exceptions

exception tcclib.exception.TccException

Bases: Exception

This exception is thrown when an error occurs communicating with the transaction coordinator

exception tcclib.exception.TccHeuristicException

Bases: Exception

This exception is thrown when a confirm or cancel request fails with a heuristic outcome

exception tcclib.exception.TccUnknownTransactionException

Bases: Exception

This exception is thrown when a transaction isn’t known by the coordinator

tcclib.tcc module

class tcclib.tcc.Middleware(application)

Bases: object

Middleware will intercept the requests routed to the configured participant endpoints or callback methods.

Parameters:

object – Any WSGI app.

transform(data)
class tcclib.tcc.TCCClient

Bases: object

Tcc Client functions

static CancelTCC(incomingReqHeaders)

Cancel the TCC transaction. This asks the transaction coordinator to cancel all the participants.

Parameters:

incomingReqHeaders – http request headers.

static CancelTCCByParticipants(incomingReqHeaders, participants)

Cancel the TCC transaction optionally adding additional participants. This asks the transaction coordinator to cancel all the participants in the transaction including those added by this call.

Parameters:
  • incomingReqHeaders – http request headers.

  • participants – optional list of TccParticipants to be included in the cancelling of the transaction.

static ConfirmTCC(incomingReqHeaders)

Confirms the current TCC transaction. This asks the transaction coordinator to confirm all the participants in the transaction.

Parameters:

incomingReqHeaders – http request headers.

static ConfirmTCCByParticipants(incomingReqHeaders, participants)

Confirm the TCC transaction optionally adding additional participants. This asks the transaction coordinator to confirm all the participants in the transaction including those added by this call.

Parameters:
  • incomingReqHeaders – http request headers.

  • participants – list of TccParticipants to be included in the confirmation of the transaction.

static GetTCCTransactionState(incomingReqHeaders)

GET TCC transaction state.

Parameters:

incomingReqHeaders – http request headers.

class tcclib.tcc.TCCConfig(filePath, timeLimitInSeconds)

Bases: object

TCC Transaction Configurations

addTccParticipant(uri)

Add a participant to the current TCC transaction.

Parameters:

uri – the URI of the participant resource.

class tcclib.tcc.TccParticipant(uri, timeLimitInMilliSeconds)

Bases: object

Tcc Participant.

Parameters:
  • uri – resource URI.

  • timeLimitInMilliSeconds – time limit in milliseconds.

class tcclib.tcc.TccParticipantStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Tcc Participant Status.

Active = 'Active'
Cancelled = 'Cancelled'
Cancelling = 'Cancelling'
Confirmed = 'Confirmed'
Confirming = 'Confirming'
FailedToCancel = 'FailedToCancel'
FailedToConfirm = 'FailedToConfirm'
class tcclib.tcc.TccTransactionStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Tcc Transaction Status.

Active = 'Active'
Cancelled = 'Cancelled'
Cancelling = 'Cancelling'
Confirmed = 'Confirmed'
Confirming = 'Confirming'
FailedToCancel = 'FailedToCancel'
FailedToConfirm = 'FailedToConfirm'
Heuristic = 'Heuristic'
tcclib.tcc.http_request(method, URL, headers=None, data=None)

Intercept the outgoing http request

Parameters:
  • method – http method type

  • URL – endpoints url

  • headers – headers of http request

  • data – data of http request

Module contents