org.killbill.billing.payment.retry.RetryStates.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright 2014 Groupon, Inc ~ ~ Groupon licenses this file to you under the Apache License, version 2.0 ~ (the "License"); you may not use this file except in compliance with the ~ License. You may obtain a copy of the License at: ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the ~ License for the specific language governing permissions and limitations ~ under the License. --> <stateMachineConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="StateMachineConfig.xsd"> <stateMachines> <stateMachine name="PAYMENT_RETRY"> <states> <state name="INIT"/> <state name="SUCCESS"/> <state name="RETRIED"/> <state name="ABORTED"/> </states> <transitions> <transition> <initialState>INIT</initialState> <operation>OP_RETRY</operation> <operationResult>SUCCESS</operationResult> <finalState>SUCCESS</finalState> </transition> <transition> <initialState>INIT</initialState> <operation>OP_RETRY</operation> <operationResult>FAILURE</operationResult> <finalState>RETRIED</finalState> </transition> <transition> <initialState>INIT</initialState> <operation>OP_RETRY</operation> <!-- We are using EXCEPTION operation result to get out of the RETRIED state and transition to ABORTED --> <operationResult>EXCEPTION</operationResult> <finalState>ABORTED</finalState> </transition> <transition> <initialState>RETRIED</initialState> <operation>OP_RETRY</operation> <operationResult>SUCCESS</operationResult> <finalState>SUCCESS</finalState> </transition> <transition> <initialState>RETRIED</initialState> <operation>OP_RETRY</operation> <operationResult>FAILURE</operationResult> <finalState>RETRIED</finalState> </transition> <transition> <initialState>RETRIED</initialState> <operation>OP_RETRY</operation> <!-- We are using EXCEPTION operation result to get out of the RETRIED state and transition to ABORTED --> <operationResult>EXCEPTION</operationResult> <finalState>ABORTED</finalState> </transition> </transitions> <operations> <operation name="OP_RETRY"/> </operations> </stateMachine> </stateMachines> <linkStateMachines> <linkStateMachine> <initialStateMachine>PAYMENT_RETRY</initialStateMachine> <initialState>ABORTED</initialState> <finalStateMachine>PAYMENT_RETRY</finalStateMachine> <finalState>INIT</finalState> </linkStateMachine> </linkStateMachines> </stateMachineConfig>