linked 2011-12-14 17:35
浏览 258
已采纳

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条回答 默认 最新

  • yanjinke 2011-12-14 17:59
    关注

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

    sysConfigDAO.updateVal("serverNo",serverNo);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分