java 多线程 数据重复,java 多线程 出现数据重复调用有关问题

java 多线程 出现数据重复调用问题

线程操作过程描述:

1、线程查询数据库表(table1)数据,并遍历修改记录状态(防止出现数据重复调用)。(此操作加入了同步锁)

2、调用接口,获取返回的状态。

3、把数据插入到数据库(table2)中,并删除table1中相应的数据。

贴代码:

数据操作类 messageMgrFacadeImpl

public synchronized List findPushList(HashMap searchMap) {

// TODO Auto-generated method stub

this.status = transactionManager.getTransaction(definition);

definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);

//获取全部的未发送信息

List list = this.queryForList("findPushList",

searchMap);

try {

//修改信息状态

for(int n=0;n

HashMap listMap = (HashMap)list.get(n);

searchMap.put("smsId", listMap.get("SMS_ID"));

this.update("updatePushListById",searchMap);

}

transactionManager.commit(status);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值