spring交互问题
@Scheduled(fixedDelay = 120000)
public void saveAdCache() {
    // 获取数据库中字段对应的值,默认为零
    int serverNo = sysConfigDAO.getVal("serverNo");
    // 获取当前调用方法的服务器的编号,比如我有三台服务器,对应编号就是1,2,3,这个值是spring根据bean自动注入的
    int thisServerNo = getServerNo();
    if ((thisServerNo - serverNo) == 1) {
        System.out.println("当前服务器是" + thisServerNo);
        // 更新数据库中SYS_TYPE对应的SYS_VAL的值
        serverNo = serverNo + 1;
        sysConfigDAO.updateVal("serverNo",serverNo);
    //    if(serverNo > 2) {
    //      sysConfigDAO.updateVal("serverNo",0);
    //   }
    } else {
        return;
    }

}

有三个服务器,每隔两分钟会自动调用这个方法一下,顺序是第一台服务器调用完两分钟后第二台服务器调用再两分钟第三台服务器调用

现在有个问题是:我可能是多台服务器,如何在最后一台服务器调用完这个方法后把serverNo设为零

叙述的不太清楚
不懂的可以再问我

1个回答

最终是要保存执行的服务器编号吧?

sysConfigDAO.updateVal("serverNo",serverNo);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问