环境:该应用程序使用的是Spring Framework 2.5.6.SEC01和iBatis 2.3.4.726。这是MVC设计。
以下是该方案:
如果API返回SUCCESS,则无需执行任何操作。但它返回ERROR,我发出警告信息通知用户。
我有View(客户端),服务和数据访问层。当客户端进行提交时(场景#2),它进入服务以处理数据并自动启动事务(场景#3)。退出服务后自动执行提交并返回客户端以显示数据(方案#4)。
问题:如何暂停交易不执行提交,然后返回客户端通过Javascript调用API 。 当API返回SUCCESS时,通过Ajax(或其他方式)执行提交,或者另一方面,回滚它。
对正确方向的任何指导表示赞赏。
答案 0 :(得分:1)
如果我理解正确,你想要启动数据库事务,插入数据(不进行调用),保持连接和事务处于打开状态,返回客户端,并根据一些javascript结果,进行提交。
这感觉就像一个奇怪的设计,客户端实际上可以保持连接打开,使您的应用程序极易受到(D)DOS攻击或一般客户端问题的影响。
我会尽力改造它,如下所示:
这更快,更强大,也可能更少代码。