Thrown if an attempt is made to complete an activity that has active
child activities and at least one of the registered HLSs determines
the it is an invalid condition.
When a Business Activity participant registers with a BA transaction it
gets a reference to the transaction coordinator that lets it callback
into the transaction and drive the state-transition.
If participants have registered for the BusinessAgreementWithComplete
protocol then they will be expecting the application to inform them
when all work intended for them has been sent (and responded to).
The participant has completed it works, but wishes to continue in
the business activity, so that it will eventually be told when (and how)
the activity terminates.
a participant callback use to notify the participant either that a recovery record has been written to
the log and hence that uncommitted changes should be committed or that completion was cancelled and
hence that uncommitted changes should be rolled back.
If the application requires and if the coordination protocol supports
it, then this method can be used to execute a coordination protocol on
the currently enlisted participants at any time prior to the termination
of the coordination scope.
Enlist the specified participant with current transaction such that it
will participate in the 2PC protocol; a unique identifier for the
participant is also required.
Enlist the specified participant with current transaction such that it
will participate in the Volatile 2PC protocol; a unique identifier for
the participant is also required.
If the participant enquired as to the status of the transaction it was
registered with and an unrecoverable error occurs then this operation will be
invoked.
This will be called when the parent coordinator is preparing its durable participants and should ensure
that the interposed cooordinator does the same.
This will be called when the parent coordinator is preparing its volatile participants and should ensure
that the interposed cooordinator does the same.
Prepared: it is prepared to commit or rollback depending on the final
transaction outcome, and it has made sufficient state updates persistent
to accomplish this.
A coordinator completion participant registered on behalf of an interposed WS-BA coordinator in order
to ensure that durable participants in the interposed transaction are completed, closed or cancelled
when requested from the parent transaction.
A durable participant registered on behalf of an interposed WS-AT coordinator in order to ensure that
durable participants in the subtransaction prepared, committed and aborted at the right time.
A volatile participant registered on behalf of an interposed WS-AT coordinator in order to ensure that
volatile participants in the subtransaction are prepared at the right time.
Business Activities don't expose synchronizations but they are used internally to ensure
that the transcation association is cleaned up and this interface is used to define the
behaviour of the synchronization.
When asked to prepare, a 2PC participant returns one of three types of
vote:
ReadOnly: does not need to be informed of the transaction outcome as no
state updates were made.