2 xuxiaoyinliu xuxiaoyinliu 于 2016.04.30 21:23 提问

JAVA两个部署在不同服务器上的程序访问同一个表,如何避免同时向这个表中插入数据 ?

JAVA两个部署在不同服务器上的程序访问同一个表,如何避免同时向这个表中插入数据 ?刚写了个程序发现存在这个问题,原以为这种概率不会太高,但还是存在,怎么解决?谢谢

2个回答

Meditator_hkx
Meditator_hkx   Rxr 2016.04.30 22:23

其实和进程互斥的原理应该是一样的吧,在某一服务器访问该公共表的时候加锁,并同步更新数据至所有可达服务器,这样别的服务器也有访问请求时,就会等锁解开再进行。加锁的服务器程序应负责在释放资源后解锁。

xuxiaoyinliu
xuxiaoyinliu   2016.04.30 21:49

情况是这样的,现在要对供货商进行加款,只要满足余额<阈值 就申请加款,但只要这个供货商有未处理完成的加款申请,就不能再有新的申请,加款程序在插入申请时会去数据库中查询有没有未处理完成的请求,如果有则放弃,单程序运行时没有任何问题,但是多个同时运行时就出现了同时申请的问题,记录重复,请问该怎么解决这个问题?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!