RocketMQ事务消息

 

Message<String> msg = MessageBuilder
		.<String>withPayload(user.getName())
		.setHeader(RocketMQHeaders.TRANSACTION_ID,UUID.randomUUID().toString())
		.build();
		TransactionSendResult sendResult = rocketMQTemplate.sendMessageInTransaction(destination,msg, user);
		LocalTransactionState localTransactionState = sendResult.getLocalTransactionState();
		logger.info("发送状态:localTransactionState==>{}",localTransactionState);
@RocketMQTransactionListener
public class UserTransactionListener implements RocketMQLocalTransactionListener {

	static final Logger logger = LoggerFactory.getLogger(UserTransactionListener.class);
	@Autowired
	private MongoTemplate mongoTemplate;
	
	
	/***
	 * 发送prepare消息成功此方法被回调,该方法用于执行本地事务
	 * @param msg 回传的消息,利用transactionId便可获取到该消息的惟一Id 
	 * @param arg 调用send方法时传递的参数,当send时候如有额外的参数能够传递到send方法中,这里能获取到 - 
	 * @return