in java/e2e-v4/src/main/java/org/apache/rocketmq/factory/ProducerFactory.java [55:74]
public static RMQTransactionProducer getTransProducer(String ns, ExecutorService executorService, TransactionListener transactionListener, RPCHook rpcHook) {
TransactionMQProducer producer;
if (aclEnable) {
producer = new TransactionMQProducer(RandomUtils.getStringByUUID(), rpcHook);
} else {
producer = new TransactionMQProducer(RandomUtils.getStringByUUID());
}
producer.setInstanceName(UUID.randomUUID().toString());
producer.setNamesrvAddr(ns);
try {
if (executorService != null) {
producer.setExecutorService(executorService);
}
producer.setTransactionListener(transactionListener);
producer.start();
} catch (MQClientException e) {
logger.info("Start TransactionMQProducer failed, {}", e.getMessage());
}
return new RMQTransactionProducer(producer);
}