鍍金池/ 問答/Java/ 下面這段代碼怎么理解?是往數(shù)據(jù)庫里面添加數(shù)據(jù)的意思嗎?

下面這段代碼怎么理解?是往數(shù)據(jù)庫里面添加數(shù)據(jù)的意思嗎?

這段代碼什么意思?

while (true) {
                param.put("access_token", token.getAccessToken());
                param.put("page", String.valueOf(count));
                String url = RequestUtil.getSpecifiedUrl(conf, "jkb.alert.messagesList.url", param);
                msgStr = HttpClientUtil.get(httpClient, url, null);
                log.debug("alert message is {}", msgStr);
                List<MsgContent> msgConList = JSON.parseArray(msgStr, MsgContent.class);
                
                if (msgConList != null && msgConList.size()>0) {
                    log.error("it can not fetch real information!");
                    for (MsgContent msg : msgConList) {
                        msg.setId(UUID.randomUUID().toString());
                        msg.setTimestamp(batchTime);
                    }
                    log.debug("task alert message is {}", JSON.toJSON(msgConList));
                    msgConTotalList.addAll(msgConList);
                }else{
                    log.warn("task alert message from jkb is null at this time");
                }
                
                if (msgConList.size() < 20) {
                    log.debug("this is the last page. the size of msgConList is {}", msgConList.size());
                    break;
                }
                count++;
            }

完整的代碼

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class MsgContentCollector extends CollectorJob {
    
    private MsgContentMapper msgContentMapper;
    private Config conf;
    private long batchTime;
    
    {
        if (msgContentMapper == null) {
            msgContentMapper = CommonUtils.getInstance(MsgContentMapper.class);
        }
        conf = CommonUtils.getConf();
    }
    
    @Override
    public void collectorData() {
        batchTime = System.currentTimeMillis();
        CloseableHttpClient httpClient = HttpClientUtil.getNoCookieClient();
        fetchMsgContents(httpClient);
    }

    private void fetchMsgContents(CloseableHttpClient httpClient) {
        String msgStr = null;
        try {
            AuthToken token = AuthTokenUtil.getAutherToken();
            Map<String, String> param = new HashMap<>();
            List<MsgContent> msgConTotalList = new ArrayList<>();
            int count = 1;
            while (true) {
                param.put("access_token", token.getAccessToken());
                param.put("page", String.valueOf(count));
                String url = RequestUtil.getSpecifiedUrl(conf, "jkb.alert.messagesList.url", param);
                msgStr = HttpClientUtil.get(httpClient, url, null);
                log.debug("alert message is {}", msgStr);
                List<MsgContent> msgConList = JSON.parseArray(msgStr, MsgContent.class);
                
                if (msgConList != null && msgConList.size()>0) {
                    log.error("it can not fetch real information!");
                    for (MsgContent msg : msgConList) {
                        msg.setId(UUID.randomUUID().toString());
                        msg.setTimestamp(batchTime);
                    }
                    log.debug("task alert message is {}", JSON.toJSON(msgConList));
                    msgConTotalList.addAll(msgConList);
                }else{
                    log.warn("task alert message from jkb is null at this time");
                }
                
                if (msgConList.size() < 20) {
                    log.debug("this is the last page. the size of msgConList is {}", msgConList.size());
                    break;
                }
                count++;
            }
            
            if (msgConTotalList != null && msgConTotalList.size()>0) {
                msgContentMapper.insertMsgContentList(msgConTotalList);
            }else {
                log.warn("task alert message from jkb is null");
            }
        } catch (Exception e) {
            AuthTokenUtil.checkAhtherToken(msgStr);
            log.error("get alert msgStr error",e);
        } finally {
            try {
                httpClient.close();
            } catch (IOException e) {
                log.error("close httpclient error",e);
            }
        }
    }

}
回答
編輯回答
命于你

跟數(shù)據(jù)庫無關(guān),是在通過網(wǎng)絡(luò)請求分頁獲取 jkb 上的消息。

2018年2月24日 09:11