in ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/ONSFactoryImpl.java [72:89]
public TransactionProducer createTransactionProducer(Properties properties,
final LocalTransactionChecker checker) {
return new TransactionProducerImpl(ONSUtil.extractProperties(properties), new TransactionCheckListener() {
@Override
public LocalTransactionState checkLocalTransactionState(MessageExt msg) {
String msgId = msg.getProperty(Constants.TRANSACTION_ID);
Message message = ONSUtil.msgConvert(msg);
message.setMsgID(msgId);
TransactionStatus check = checker.check(message);
if (TransactionStatus.CommitTransaction == check) {
return LocalTransactionState.COMMIT_MESSAGE;
} else if (TransactionStatus.RollbackTransaction == check) {
return LocalTransactionState.ROLLBACK_MESSAGE;
}
return LocalTransactionState.UNKNOW;
}
});
}