首页 > 其他分享 >The rocketMQTemplate does not exist TransactionListener

The rocketMQTemplate does not exist TransactionListener

时间:2023-06-09 19:45:36浏览次数:49  
标签:事务 TransactionListener 发送 does exist 消息 测试 transactionId junit

rocketmq-starter版本:2.2.1

发送的代码:

@Test
public void test1() throws Exception {
	// 事务id
	String transactionId = UUID.randomUUID().toString();
	info(">>> 发送半消息!transactionId:{}", transactionId);

	// 发送事务消息
	TransactionSendResult sendResult = mqTemplate.sendMessageInTransaction(
			"topic-3_dev:tag1"
			// 给消费者的参数
			, MessageBuilder.withPayload(1)
					.setHeader(RocketMQHeaders.TRANSACTION_ID, transactionId)
					.build()
			// 给本地事务的参数
			, 2
	);
	info(">>> 发送半消息结果:{}", toJson(sendResult));
}

在测试rocketmq事务消息时,创建了一个事务监听器,使用默认的RocketMQTemplate实例,在junit中测试消息发送时,报如题错误!

花了半天时间,找了很多文章对比发送的代码,都没有找到原因。

后来,我就怀疑是junit的问题。就把发送的代码放到Controller中运行,结果就成功了。

junit用来测试确实方便,但毕竟是模拟的运行环境,和真实运行环境还是会有区别,下次再遇到类似诡异的问题,在junit外测试一下,也许就成功了!

 

标签:事务,TransactionListener,发送,does,exist,消息,测试,transactionId,junit
From: https://www.cnblogs.com/kagome2014/p/17470116.html

相关文章

  • Android问题解决:android.util.Base64.encode 导致签名不匹配 SignatureDoesNotMatch
    文章目录前文:遇到问题一问:为什么SignatureDoesNotMatch二问:为什么SignatureDoesNotMatch三问:Signature请求参数为什么多了%0A四问:Signature为什么多了换行五问:android.util.Base64.encode的用法前文:遇到问题在折腾《ESP32-C3入门教程——导读》时,需要对接阿里云物联网平台。想要......
  • Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't ex
    mysql安装报错如下:Fatalerror:Can'topenandlockprivilegetables:Table'mysql.host'doesn'texist12121723:10:40mysqld_safemysqldfrompidfile/data/mysql/data/DB8.pidended 解决办法:mysql_install_db--user=mysql 初始化数据库即可   ......
  • git报错would clobber existing tag
    使用vscode拉取代码出现报错:解决问题如下:1.在terminal直接输入gitpull完成对代码的拉取,代码虽然拉取了,但是vscode的git工具还是不能用2.在terminal输入gitfetch--tags-f,先完成对本地代码tag的强制更新。3.再使用vscode的git工具拉取代码 ......
  • “AIR SDK 0.0: AIR SDK location “...\devsdks\AIRSDK\Win” does not exist.”
    导入AS3项目时提示“AIRSDK0.0:AIRSDKlocation“D:\ProgramFiles\Adob5eFlashBuilder4.7\eclipse\plugins\com.adobe.flexbuilder.flex_4.7.0.349722\devsdks\AIRSDK\Win”doesnotexist.”是AS3项目找不见AIRSDK.打开项目配置ActionScriptBuildPath,路径出错......
  • github上传时出现error: src refspec master does not match any解决办法
    问题产生原因分析引起该错误的原因是,目录中没有文件,空目录是不能提交上去的解决方法touchREADME1.gitaddREADME2.gitcommit-m'firstcommit'3.gitpushoriginmaster来自:http://www.open-open.com/lib/view/open1366080269265.html实际上gitinit这一步之后创建了一......
  • SpringBoot项目启动失败报错Annotation-specified bean name ‘xx‘ for bean class [
    Annotation-specifiedbeanname'datahubServiceImpl'forbeanclass[com.peony.common.service.impl.DatahubServiceImpl]conflictswithexisting,non-compatiblebeandefinitionofsamenameandclass[com.peony.common.service.DatahubServiceImpl] 1、......
  • DIR exists, please clean old DIR!建立联盟链错误
    问题是这样:目录存在,请清理旧目录进入nodes所在的·目录执行rm-rfnodes递归删除目录所有文件重新执行建联,成功......
  • 解决npm npm does not support Node.js
    原因:node.js和npm版本不对应参考官网版本对应(https://nodejs.org/zh-cn/download/releases/),下载对应的node.js版本和更新npm版本npmupdate常用命令使用 npm-check检查更新npminstall-gnpm-checknpm-check2.npm-upgrade更新......
  • G - MaratonIME does a competition
    StatementsIt'sJanuaryandMaratonIMEisattendingtoanACM-ICPCSummerSchoolinCampinas.Renzo,THEPOWERFUL,wenttovisithisstudentsand,asusual,broughtchocolatesfromPeru.However,afteracoupleofparties,MaratonIMEisgrowingalot......
  • kettle 连接oracle 12c以上数据库报错 ORA-12505, TNS:listener does not currently k
    在通过kettle连接oracle数据库时报错,但通过plsql是能正常连接的,ORA-12505,TNS:listenerdoesnotcurrentlyknowofSIDgiveninconnectdescriptororg.pentaho.di.core.exception.KettleDatabaseException:来看oracle数据库版本select*fromv$version;连接oracle12c以......