UpdateBindDataTimer.java 文件源码

java
阅读 35 收藏 0 点赞 0 评论 0

项目:supervisor 作者:
public void update(){
    List<App> apps=appServiceImpl.getAllApp();
    boolean flag=false;
    for(App app:apps){
        if(StringUtils.isNotBlank(app.getBindUrl())){
            try {
                String data = HttpUtil.sendGet(app.getBindUrl(),null);
                Map<String,String> rs = JSON.parseObject(data,new TypeReference<Map<String,String>>(){});
                List<Map<String,String>> dt =JSON.parseObject(rs.get("data"),new TypeReference<List<Map<String,String>>>(){});

                List<String> ips=new ArrayList<String>();
                for(Map m:dt){
                    if(null!=m.get("ip")&&StringUtils.isNotBlank(m.get("ip").toString())){
                        ips.add(m.get("ip").toString());
                    }
                }
                LOG.info("get agent from url:"+JSON.toJSONString(ips));
                if(StringUtils.isNotBlank(data)){
                    appServiceImpl.reBindAgent(app.getAppId(),ips);
                    if(!flag){
                        flag=true;
                    }
                }else{
                    LOG.error("url return data is empty,app:"+app.getInstruct()+",url:"+app.getBindUrl());
                }
            }catch (Exception e){
                LOG.error("update app bind agent exception,app:"+app.getInstruct()+",url:"+app.getBindUrl()+",msg:"+ ExceptionUtil.getStackTraceAsString(e));
            }
        }
    }
    //如果重新绑定数据成功,则通知heartbeat
    if(flag){
        appServiceImpl.noticeHeartbeat();
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号