package com.alibaba.rocketmq.example.transaction; import com.alibaba.rocketmq.client.producer.LocalTransactionExecuter; import com.alibaba.rocketmq.client.producer.LocalTransactionState; import com.alibaba.rocketmq.common.Message; public class TranExecuterImpl implements LocalTransactionExecuter { private int transactionStats = -1;// 0 send ,1 commit,2 rollback public int getTransactionStats() { return transactionStats; } public void setTransactionStats(int transactionStats) { this.transactionStats = transactionStats; } @Override public LocalTransactionState executeLocalTransactionBranch(Message msg) { if (transactionStats == 1) { return LocalTransactionState.COMMIT_MESSAGE; } else if (transactionStats == 2) { return LocalTransactionState.ROLLBACK_MESSAGE; } return LocalTransactionState.UNKNOW; } }