From 6c536289e08dc403f8cfe94bac7c28ecb781ada3 Mon Sep 17 00:00:00 2001 From: doufenghu Date: Tue, 24 Nov 2020 21:08:47 +0800 Subject: [PATCH] =?UTF-8?q?feature(cookieId):=20=E5=9B=A0=E6=80=BB?= =?UTF-8?q?=E7=BA=BFconnect=20=E6=8E=A5=E5=8F=A3=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=90=BA=E5=B8=A6cookie=20=E5=B0=86=E4=B8=8D?= =?UTF-8?q?=E8=BF=94=E5=9B=9Esession=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0=E4=B8=AD=E4=B8=8D?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=AF=B7=E6=B1=82cookie=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cusflume/sink/HttpAsyncUtils/HttpClientUtil.java | 2 -- .../cn/ac/iie/cusflume/sink/YbHttpAvroSinkFile.java | 11 ++++++++--- .../ac/iie/cusflume/sink/avroUtils/HttpManager.java | 4 ++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/HttpAsyncUtils/HttpClientUtil.java b/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/HttpAsyncUtils/HttpClientUtil.java index a27dfaf..02a1d17 100644 --- a/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/HttpAsyncUtils/HttpClientUtil.java +++ b/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/HttpAsyncUtils/HttpClientUtil.java @@ -143,10 +143,8 @@ public class HttpClientUtil { HttpClientContext localContext = HttpClientContext.create(); BasicCookieStore cookieStore = new BasicCookieStore(); - httpPut = new HttpPut(baseUrl); - // httpPost.setHeader("Transfer-Encoding","close"); // httpPost.setHeader("Content-Type", "binary/octet-stream"); httpPut.setHeader("Content-Type", "binary/octet-stream"); diff --git a/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/YbHttpAvroSinkFile.java b/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/YbHttpAvroSinkFile.java index 63a6d72..8af28d2 100644 --- a/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/YbHttpAvroSinkFile.java +++ b/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/YbHttpAvroSinkFile.java @@ -90,6 +90,7 @@ public class YbHttpAvroSinkFile extends AbstractSink implements Configurable { logger.error("Starting YbHttpAvroSinkFile is error==>checkMsgUrl and postMsgUrl can not be null!!!!"); } + new Thread(new RetrySendMessage()).start(); logger.warn("Starting YbHttpAvroSinkFile ... ..."); } @@ -327,8 +328,8 @@ public class YbHttpAvroSinkFile extends AbstractSink implements Configurable { /** * 获取状态回传sessionID,检查认证是否存在 */ - if (StringUtils.isBlank(monitorSessionCookie) - || StringUtils.isBlank(msgSessionCookie)) { + if (StringUtils.isBlank(monitorSessionCookie) + || StringUtils.isBlank(msgSessionCookie)) { getMonitorSessionCookie();//sendMsgLog-首次获取monitorSessionCookie getMsgSessionCookie();//sendMsgLog-msgSessionCookie为空,首次接入验证 if (!checkTimerStart) { @@ -345,9 +346,13 @@ public class YbHttpAvroSinkFile extends AbstractSink implements Configurable { } - logger.info("AC msg sessionId already exists,msg sessionId is ===>" + msgSessionCookie); + logger.info("AC msg sessionId already exists,msg sessionId is ===>" + msgSessionCookie); } + if (StringUtils.isBlank(configInfo.getMsgSessionCookie())) { + throw new RuntimeException("Get Cookie Error : " + configInfo.getCheckMsgUrl()); + } + AvroMonitorTimerTask.addTotalNum(contents.size()); AvroMonitorTimerTask.addReadyPostNum(contents.size()); if (isSingle(topicName)) { diff --git a/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/avroUtils/HttpManager.java b/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/avroUtils/HttpManager.java index 231a929..7980e91 100644 --- a/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/avroUtils/HttpManager.java +++ b/yb_http_avro_sink_file/src/main/java/cn/ac/iie/cusflume/sink/avroUtils/HttpManager.java @@ -104,6 +104,7 @@ public class HttpManager { } }; ctx.init(null, new TrustManager[]{tm}, null); + SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE); Registry socketFactoryRegistry = RegistryBuilder.create() .register("http", PlainConnectionSocketFactory.INSTANCE) @@ -123,6 +124,7 @@ public class HttpManager { } httpClient = getHttpClient(); + } //请求重试机制 @@ -169,6 +171,7 @@ public class HttpManager { RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(3000) .setSocketTimeout(3000) + .setCookieSpec(CookieSpecs.IGNORE_COOKIES) //.setCookieSpec(CookieSpecs.BEST_MATCH) .build(); // 声明重定向策略对象 @@ -648,6 +651,7 @@ public class HttpManager { httpPost.addHeader("User-Agent", userAgent); httpPost.addHeader("X-Tag", xTag);//根据最新文档,目前已经不需要此头-20191217 httpPost.addHeader("Content-Type", "application/json"); + httpPost.setHeader("Cookie", ""); // httpPost.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE); StringEntity payload = new StringEntity(data, Charset.forName("utf-8")); //payload.setContentType("text/xml; charset=UTF-8");