Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有事务支持的活动/责任链Java库_Java - Fatal编程技术网

具有事务支持的活动/责任链Java库

具有事务支持的活动/责任链Java库,java,Java,我必须实施一系列活动(例如,更新用户档案、从一个用户向另一个用户转移点数等),每个活动都可以由一个或多个逻辑步骤组成(检查用户是否有足够的点数,从第一个用户减去点数,检查其他用户是否可以接收,然后将这些点数计入第二个用户)按给定的顺序。我还需要实现某种类型的“回滚”机制,以便在步骤N出现问题时可以撤消前面的任何步骤(这是数据库事务中通常采用的方法,但数据库可能涉及也可能不涉及) 有没有Java库可以帮我解决这个问题?我看过口水,但看起来太复杂了。另外,我不确定它是否支持这种回滚机制。有什么想法吗

我必须实施一系列活动(例如,更新用户档案、从一个用户向另一个用户转移点数等),每个活动都可以由一个或多个逻辑步骤组成(检查用户是否有足够的点数,从第一个用户减去点数,检查其他用户是否可以接收,然后将这些点数计入第二个用户)按给定的顺序。我还需要实现某种类型的“回滚”机制,以便在步骤N出现问题时可以撤消前面的任何步骤(这是数据库事务中通常采用的方法,但数据库可能涉及也可能不涉及)

有没有Java库可以帮我解决这个问题?我看过口水,但看起来太复杂了。另外,我不确定它是否支持这种回滚机制。有什么想法吗?

是一个定义java事务标准行为的框架

一个典型且众所周知的用例是简单的数据库事务,但JTA更为通用。它是通过一个或多个事务资源管理事务的框架。事务资源当然可以是数据库,但也可以是文件、消息传递服务等

如果一个事务中包含多个transactionnal资源,则必须搜索支持的JTA实现


我不是说这是一个简单的框架。。。但是您所面临的问题一点也不简单。

如果您必须通过REST/SOAP/EJB/等与其他服务/提供商集成,那么我建议您看看。Camel是一种集成服务,可以与几乎所有的服务或协议集成。而且,我相信,它支持基本的交易。您可以进行单个服务调用,Camel将处理路由和与您定义的任何后端服务的集成。而且,你可以把它们锁起来。因此,您的流程如下所示:

客户端调用服务“FOO”。。。
“FOO”被定义为对“/bar”进行REST调用,然后对“MyService”进行EJB调用,然后将结果持久化到SQL数据库,最后调用SOAP web服务的路由。然后,客户机从该调用返回返回值,该值可以是这些调用的任何转换或排列。它对结果来自的客户端是完全透明的。

您可以使用具有事务支持的内存中数据库,即使这不是外部要求。