All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pamirs.pradar.upload.uploader.AgentUpdateStatusUploader Maven / Gradle / Ivy

There is a newer version: 1.0.2
Show newest version
package com.pamirs.pradar.upload.uploader;

import com.pamirs.pradar.upload.HttpScheduledUploader;
import com.pamirs.pradar.upload.info.AgentInfo;

/**
 * 应用启动时候,将 Agent、应用、机器等信息上报
 *
 * @author shiyajian
 * create: 2020-07-20
 */
public class AgentUpdateStatusUploader extends HttpScheduledUploader {

    public static final String UPLOADER_NAME = "agent_update_uploader";

    public static final String POST_URL = "api/smon/app/updateAppInfo";

    public static final int UPLOAD_PERIOD_SECOND = 5;

    private AgentUpdateStatusUploader() {
        super(UPLOADER_NAME, POST_URL, UPLOAD_PERIOD_SECOND);
    }

    private static AgentUpdateStatusUploader INSTANCE;

    public static AgentUpdateStatusUploader getInstance() {
        if (INSTANCE == null) {
            synchronized (AgentUpdateStatusUploader.class) {
                if (INSTANCE == null) {
                    INSTANCE = new AgentUpdateStatusUploader();
                }
            }
        }
        return INSTANCE;
    }

    @Override
    public boolean enabled() {
        return true;
    }

    @Override
    protected String getData() {
        return String.format("{\"agentId\":\"%s\"}", AgentInfo.getInstance().getAgentId());
    }

    @Override
    protected boolean isReady() {
        return AgentOnlineUploader.getInstance().isSuccess();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy