求助:Java业务逻辑的问题(高手请进)

2025-01-02 19:06:38
推荐回答(5个)
回答1:

个人意思如下,
你调用第三方金额的时候先发送给第三方一个调用金额的请求,对方返回给你一个你所请求的金额数目,但是对方数据库并不做修改。
然后在你本地写入数据库,如果写入数据库成功的话,返回给第三方一个成功的信息,如果写入失败,也返回给第三方一个信息这样的话就能够做到信息的同步,第三方接到你写入成功的消息后修改数据库数据与你同步.
中间如果出现异常情况如连接超时,则设定一个连接时限,如超时则第三方默认你没同步成功,同时设置一个多线程的发送包器,定时发送确认连接包,

回答2:

首先你要明确,这个别人的方法是通过什么方式走的,如果是本地的话,那么将这个东西放在一个事务里面,只有你这里成功了才能成功

如果是远程的话就不好弄了,如果对方的金额做了写表操作,那么只能通过协议,将你的异常消息发给他,然后在那边做回退,但是我也觉得很奇怪,按道理应该只有你那边给他一个成功消息才他才会commit操作。不然这个设计就是有问题的

回答3:

你这里解决....因为异常只有在你这里才能捕捉到...
但第三方按你那样说他的处理也是不完全对的。
应该不是第三方主动给你金额,是你把数据写入数据库成功后才给第三方一个消息,然后第三方返回给你金额...你一旦在多长时间里没有取得连接或者连接失败,就主动撤消事务同时通知第三方失败,让第三方也做出相应撤消处理……

回答4:

他是不断产生金额还是你调用才产生金额,如果是你调用才产生就抛出个异常就可以了,如果是不断产生那就比较复杂了,得具体分析,描述的有点笼统

回答5:

推荐您去这看看,这样的问题都有详细的解决方法,他们的java教程讲解的比较全,你可以去学习下,希望对你有帮助
参考资料:http://www.baidu.com/s?wd=%B1%B1%B7%E7%CD%F8&rsv_bp=0&rsv_spt=3&inputT=422