Java中最简单的事务框架是什么?

时间:2014-10-25 16:10:55

标签: java mongodb transactions jta

鉴于我有一个简单的任务:处理一些数据并将其附加到文件中。如果我没有例外可以,但这可能会发生。如果出现问题,我想从文件中删除所有更改。

另外,我可能在处理过程中设置了一些变量,我也想恢复之前的状态。

另外,我可能正在使用不支持事务的数据库(据我所知MongoDB没有),所以我想以某种方式从DB回滚它。

是的,我可以通过备份文件然后替换它来手动修复我的文件问题。但通常看起来我需要一个事务框架。

我不想为此使用Spring怪物。太多了。而且我没有ELB容器来管理EJB。我有一个简单的Java独立应用程序,但它需要事务支持。

我是否有其他选择而不是插入Spring或EJB?

2 个答案:

答案 0 :(得分:0)

如果您不想使用spring,请尝试实现一个简单的两阶段提交机制:Two-Phase Commit Protocol

答案 1 :(得分:0)

我不是Java专家,但这听起来很简单。

事实上,我不会在符合ACID的数据库中使用交易,因为它听起来不像是正确的行动。

相反,当您的记录与原始文件合并时,我会写入临时文件。这样,如果由于某种原因无法将某些记录写入文件,则只删除旧文件并合并并保存新文件将在程序的内存和操作系统的文件系统中保持原子。