具有事务支持的活动/责任链Java库
我必须实施一系列活动(例如,更新用户档案、从一个用户向另一个用户转移点数等),每个活动都可以由一个或多个逻辑步骤组成(检查用户是否有足够的点数,从第一个用户减去点数,检查其他用户是否可以接收,然后将这些点数计入第二个用户)按给定的顺序。我还需要实现某种类型的“回滚”机制,以便在步骤N出现问题时可以撤消前面的任何步骤(这是数据库事务中通常采用的方法,但数据库可能涉及也可能不涉及) 有没有Java库可以帮我解决这个问题?我看过口水,但看起来太复杂了。另外,我不确定它是否支持这种回滚机制。有什么想法吗?是一个定义java事务标准行为的框架 一个典型且众所周知的用例是简单的数据库事务,但JTA更为通用。它是通过一个或多个事务资源管理事务的框架。事务资源当然可以是数据库,但也可以是文件、消息传递服务等 如果一个事务中包含多个transactionnal资源,则必须搜索支持的JTA实现具有事务支持的活动/责任链Java库,java,Java,我必须实施一系列活动(例如,更新用户档案、从一个用户向另一个用户转移点数等),每个活动都可以由一个或多个逻辑步骤组成(检查用户是否有足够的点数,从第一个用户减去点数,检查其他用户是否可以接收,然后将这些点数计入第二个用户)按给定的顺序。我还需要实现某种类型的“回滚”机制,以便在步骤N出现问题时可以撤消前面的任何步骤(这是数据库事务中通常采用的方法,但数据库可能涉及也可能不涉及) 有没有Java库可以帮我解决这个问题?我看过口水,但看起来太复杂了。另外,我不确定它是否支持这种回滚机制。有什么想法吗
我不是说这是一个简单的框架。。。但是您所面临的问题一点也不简单。如果您必须通过REST/SOAP/EJB/等与其他服务/提供商集成,那么我建议您看看。Camel是一种集成服务,可以与几乎所有的服务或协议集成。而且,我相信,它支持基本的交易。您可以进行单个服务调用,Camel将处理路由和与您定义的任何后端服务的集成。而且,你可以把它们锁起来。因此,您的流程如下所示: 客户端调用服务“FOO”。。。
“FOO”被定义为对“/bar”进行REST调用,然后对“MyService”进行EJB调用,然后将结果持久化到SQL数据库,最后调用SOAP web服务的路由。然后,客户机从该调用返回返回值,该值可以是这些调用的任何转换或排列。它对结果来自的客户端是完全透明的。您可以使用具有事务支持的内存中数据库,即使这不是外部要求。