public void process()

in elasticjob-ecosystem/elasticjob-executor/elasticjob-executor-type/elasticjob-http-executor/src/main/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutor.java [51:99]


    public void process(final ElasticJob elasticJob, final JobConfiguration jobConfig, final JobFacade jobFacade, final ShardingContext shardingContext) {
        HttpParam httpParam = getHttpParam(jobConfig.getProps());
        HttpURLConnection connection = null;
        try {
            URL url = new URL(httpParam.getUrl());
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod(httpParam.getMethod());
            connection.setDoOutput(true);
            connection.setConnectTimeout(httpParam.getConnectTimeout());
            connection.setReadTimeout(httpParam.getReadTimeout());
            if (!Strings.isNullOrEmpty(httpParam.getContentType())) {
                connection.setRequestProperty("Content-Type", httpParam.getContentType());
            }
            connection.setRequestProperty(HttpJobProperties.SHARDING_CONTEXT_KEY, GsonFactory.getGson().toJson(shardingContext));
            connection.connect();
            String data = httpParam.getData();
            if (isWriteMethod(httpParam.getMethod()) && !Strings.isNullOrEmpty(data)) {
                try (OutputStream outputStream = connection.getOutputStream()) {
                    outputStream.write(data.getBytes(StandardCharsets.UTF_8));
                }
            }
            int code = connection.getResponseCode();
            InputStream resultInputStream;
            if (isRequestSucceed(code)) {
                resultInputStream = connection.getInputStream();
            } else {
                log.warn("HTTP job {} executed with response code {}", jobConfig.getJobName(), code);
                resultInputStream = connection.getErrorStream();
            }
            StringBuilder result = new StringBuilder();
            try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(resultInputStream, StandardCharsets.UTF_8))) {
                String line;
                while (null != (line = bufferedReader.readLine())) {
                    result.append(line);
                }
            }
            if (isRequestSucceed(code)) {
                log.debug("HTTP job execute result : {}", result.toString());
            } else {
                log.warn("HTTP job {} executed with response body {}", jobConfig.getJobName(), result.toString());
            }
        } catch (final IOException ex) {
            throw new JobExecutionException(ex);
        } finally {
            if (null != connection) {
                connection.disconnect();
            }
        }
    }