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

com.centurylink.mdw.services.util.InitialRequest Maven / Gradle / Ivy

package com.centurylink.mdw.services.util;

import com.centurylink.mdw.app.ApplicationContext;
import com.centurylink.mdw.util.HttpHelper;
import com.centurylink.mdw.util.log.LoggerUtil;
import com.centurylink.mdw.util.log.StandardLogger;

import java.net.SocketTimeoutException;
import java.net.URL;

/**
 * After all caches have been loaded or refreshed (startup or a cache refresh request),
 * submit a request to eliminate "first request" performance penalty.
 */
public class InitialRequest {

    private static StandardLogger logger = LoggerUtil.getStandardLogger();

    private String path;

    public InitialRequest() {
        this("services/AppSummary");
    }

    public InitialRequest(String path) {
        this.path = path.startsWith("/") ? path.substring(1) : path;
    }

    public void submit() {
        try {
            String url = ApplicationContext.getLocalServiceAccessUrl() + "/" + path;
            logger.info("Submit initial request: " + url);
            HttpHelper helper = new HttpHelper(new URL(url));
            helper.setConnectTimeout(1000);
            helper.setReadTimeout(1000);
            helper.get();
        }
        catch (SocketTimeoutException ex) {
            // no need to wait for response
        }
        catch (Exception ex) {
            logger.error(ex.getMessage(), ex);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy