asit-asso / extract

EXTRACT makes it easy to extract and deliver of your geodata
GNU General Public License v3.0
9 stars 4 forks source link

Le connecteur EasySDI/viageo ne récupère plus de commandes après une coupure réseau #292

Open yblatti opened 1 year ago

yblatti commented 1 year ago

Après une coupure réseau, le connecteur easySDI / viageo ne lance plus d'appels HTTP getOrders vers le service.

Est-ce possible qu'il ait un timeout infini ? Il faudrait investiguer les valeurs par défaut (Java, Spring, Tomcat...) pour : Connection Timeout, Socket Timeout et Connection Manager Timeout. Ou plus simplement : forcer un timeout dans notre code.

Pseudo code pour src/main/java/ch/asit_asso/extract/connectors/easysdiv4/Easysdiv4.java :


    /**
     * Builds an HTTP request to be sent with the GET method, adding proxy information if it is defined.
     *
     * @param url the address that the GET request must be sent to
     * @return the HTTP GET request object
     */
    private HttpGet createGetRequest(final URI url) {
        assert url != null : "The target url cannot be null.";

        this.logger.debug("Creating HTTP GET request for URL {}.", url);

        final int timeoutInMilliseconds = Integer.parseInt(config.getProperty("getOrders.timeoutInMilliseconds"));

        final RequestConfig requestConfig = RequestConfig.custom()
                .setConnectTimeout(timeoutInMilliseconds)
                .setConnectionRequestTimeout(timeoutInMilliseconds)
                .setSocketTimeout(timeoutInMilliseconds)
                .build();

        RequestBuilder.get(url).setConfig(requestConfig);

        return (HttpGet) this.addProxyInfoToRequest(new HttpGet(url));
    }

valeur proposée pour getOrders.timeoutInMilliseconds : 5000