假设某些spring有事务方法,并且它做了两件事:
问题是,当消息被消耗时,DB事务有时没有提交,并且处理程序无法在DB期望值中找到。
显而易见的解决方案是发送事务,但我使用ActiveMQ上可用的异步发送来提高吞吐量。如果我做了发送事务,我就丧失了异步性,同时也冒着获得OuOfMemory的风险。
你将如何解决这个问题?
发布于 2012-09-14 09:46:38
您需要使用启用XA的事务管理器,并发送JMS消息,并在相同的分布式事务中对DB执行更新。
这不会将任何事情更改为异步性:发送调用将在接收方接收消息之前返回。但是当它接收到它时,事务将被提交,接收方将在数据库中找到更新。
我不明白OutOfMemoryErrors和这事有什么关系。
https://stackoverflow.com/questions/12421375
复制相似问题