summaryrefslogtreecommitdiff
path: root/src/main/java/cn/ac/iie/utils/CSVAlarm.java
diff options
context:
space:
mode:
authorcaohui <[email protected]>2020-04-29 14:32:05 +0800
committercaohui <[email protected]>2020-04-29 14:32:05 +0800
commitd15d7536f385ec4a1250ed15ed52fd6c05eb7431 (patch)
tree737ec8462ef62ac70caeee1533cbee4e76ceef98 /src/main/java/cn/ac/iie/utils/CSVAlarm.java
VoIP Knowledge Base sip-voip-completion Initial commit 202004291431HEADmaster
Diffstat (limited to 'src/main/java/cn/ac/iie/utils/CSVAlarm.java')
-rw-r--r--src/main/java/cn/ac/iie/utils/CSVAlarm.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/main/java/cn/ac/iie/utils/CSVAlarm.java b/src/main/java/cn/ac/iie/utils/CSVAlarm.java
new file mode 100644
index 0000000..fd64b5f
--- /dev/null
+++ b/src/main/java/cn/ac/iie/utils/CSVAlarm.java
@@ -0,0 +1,77 @@
+package cn.ac.iie.utils;
+
+import cn.ac.iie.common.HttpManager;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.util.EntityUtils;
+import org.apache.log4j.Logger;
+
+public class CSVAlarm {
+ //类初始化时,自动实例化,饿汉单例模式
+ private static final CSVAlarm csvAlarm = new CSVAlarm();
+ private static Logger logger = Logger.getLogger(CSVAlarm.class);
+
+ public static CSVAlarm getInfoLoadInstance(){
+ return csvAlarm;
+ }
+
+ //私有构造方法,防止外部构建
+ private CSVAlarm(){
+ }
+
+ public void csvDataLoad(String url, String topicNmane, String data) throws Exception {
+ // http client
+ DefaultHttpClient httpClient = new DefaultHttpClient();
+ String topic = topicNmane;
+ try {
+ // 需要发送的数据
+ String msg = data;//每条数据内部"\t"分割,数据间"\n"分割;//自己又换了分隔符:每条数据内部"#"分割,数据间"$"分割;
+ //开始结束时间
+// long start = System.currentTimeMillis();
+ HttpPost request = new HttpPost(url);
+ //用户名与密码,用于权限控制,传输时加密
+// request.addHeader("User", "LiMing");
+// request.addHeader("Password", "123");
+ //指定使用topic 自动绑定对应schema
+ request.addHeader("Topic", topic);
+ //Schema-Version可选,不填或为空默认使用最新版本的schema
+ request.addHeader("Schema-Version", "2");
+ //csv 或者 avro,大小写不敏感
+ request.addHeader("Format", "csv");
+ //行列分隔符默认为下值
+// request.addHeader("Row-Split", "\\n");
+// request.addHeader("Field-Split", "\\t");
+ request.addHeader("Row-Split", "\\n");
+ request.addHeader("Field-Split", ",");
+ StringEntity payload = new StringEntity(msg);
+ request.setEntity(payload);
+ HttpResponse response = httpClient.execute(request);
+ try {
+ int statuCode = response.getStatusLine().getStatusCode();
+ HttpEntity entity = response.getEntity();
+ if (statuCode == 200) {
+ logger.info("数据中心加载成功, 返回码: " + statuCode);
+ System.out.println("数据中心加载成功, 返回码: " + statuCode);
+ EntityUtils.consume(entity);
+ } else {
+ String ret = EntityUtils.toString(entity);
+ EntityUtils.consume(entity);
+ logger.info("数据中心加载失败: " + ret + " --- code: " + statuCode + " ---失败数据为: \n" + data);
+ System.out.println("数据中心加载失败: " + ret + " --- code: " + statuCode + " ---失败数据为: \n" + data);
+ logger.error("数据中心加载失败: " + ret + " --- code: " + statuCode);
+ System.out.println("数据中心加载失败: " + ret + " --- code: " + statuCode);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } catch (Exception ex) {
+ // handle exception
+ ex.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown(); //Deprecated
+ }
+ }
+} \ No newline at end of file