In the "org.apache.rocketmq.example.transaction" package, there is a demo showing how to use TransctionMQProducer. We could check the problem based on the code.
The “TransactionCheckListener” has to be set, or we will got a MQClientException when running the producer. but this funciton never been used.
The trigger of this function is in org.apache.rocketmq.broker.client.net, The Broker2Client Class's checkProducerTransactionState function, but it never been called.