All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.arjuna.wst.BusinessAgreementWithParticipantCompletionParticipant Maven / Gradle / Ivy

The newest version!
/*
   Copyright The Narayana Authors
   SPDX-License-Identifier: Apache-2.0
 */



package com.arjuna.wst;

public interface BusinessAgreementWithParticipantCompletionParticipant
{

    /**
     * The transaction has completed successfully. The participant previously
     * informed the coordinator that it was ready to complete.
     */

    public void close () throws WrongStateException, SystemException;

    /**
     * The transaction has cancelled, and the participant should undo any work.
     * The participant cannot have informed the coordinator that it has
     * completed.
     */

    public void cancel () throws FaultedException, WrongStateException, SystemException;

    /**
     * The transaction has cancelled. The participant previously
     * informed the coordinator that it had finished work but could compensate
     * later if required, so it is now requested to do so.
     * @throws FaultedException if the participant was unable to
     * perform the required compensation action because of an
     * unrecoverable error. The coordinator is notified of this fault
     * and as a result will stop resending compensation requests.
     * @throws SystemException if the participant was unable to
     * perform the required compensation action because of a transient
     * fault. The coordinator is not notified of this fault so it
     * will retry the compensate request after a suitable timeout.
     */

    public void compensate () throws FaultedException, WrongStateException, SystemException;

    /**
     * @return the status value.
     */

    public String status () throws SystemException;

    /**
     * If the participant enquires as to the status of the transaction it was
     * registered with and that transaction is no longer available (has rolled
     * back) then this operation will be invoked by the coordination service.
     *
     * This has been deprecated since the correct action when a GetStatus request fails
     * is either to cancel or compensate the participant or to call error. GetStatus
     * is only dispatched while the participant is completed so cancel will never be
     * appropriate. compensate is called when the participant is unknown to the
     * coordinator (it responds to the GetStatus request with an InvalidState fault).
     * This will only happen if the coordinator crashed after the participant completed
     * but before the client requested a close/cancel. error is called if any other fault
     * response is received. So there is no other circumstance in which it would be
     * appropriate for unknown to be called.
     */

    @Deprecated
    public void unknown () throws SystemException;

    /**
     * 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.
     */

    public void error () throws SystemException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy