|
@@ -1,9 +1,7 @@
|
|
package com.persagy.simulator_gaopin;
|
|
package com.persagy.simulator_gaopin;
|
|
|
|
|
|
import cn.hutool.core.io.resource.ResourceUtil;
|
|
import cn.hutool.core.io.resource.ResourceUtil;
|
|
-import cn.hutool.core.util.NumberUtil;
|
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
|
-import cn.hutool.core.util.StrUtil;
|
|
|
|
|
|
+import cn.hutool.core.util.*;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -11,6 +9,7 @@ import com.persagy.simulator.MeterSimulatorWalker;
|
|
import com.persagy.util.ExcelSheet;
|
|
import com.persagy.util.ExcelSheet;
|
|
import com.persagy.util.ExcelUtil;
|
|
import com.persagy.util.ExcelUtil;
|
|
import com.persagy.util.FastJsonReaderUtil;
|
|
import com.persagy.util.FastJsonReaderUtil;
|
|
|
|
+import com.persagy.util.SslUtils;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.dom4j.Document;
|
|
import org.dom4j.Document;
|
|
import org.dom4j.Element;
|
|
import org.dom4j.Element;
|
|
@@ -153,15 +152,25 @@ public class Constant {
|
|
element = (Element) iter.next();
|
|
element = (Element) iter.next();
|
|
String[] serverURIs = new String[1];
|
|
String[] serverURIs = new String[1];
|
|
serverURIs[0] = element.attribute("url").getValue();
|
|
serverURIs[0] = element.attribute("url").getValue();
|
|
- String clientId = element.attribute("clientId").getValue();
|
|
|
|
|
|
+ String clientId = element.attribute("clientId").getValue()+"-"+ IdUtil.objectId();
|
|
String username = element.attribute("username").getValue();
|
|
String username = element.attribute("username").getValue();
|
|
String password = element.attribute("password").getValue();
|
|
String password = element.attribute("password").getValue();
|
|
String topic_prefix = element.attribute("topic_prefix").getValue();
|
|
String topic_prefix = element.attribute("topic_prefix").getValue();
|
|
|
|
+ String caCrtFile = element.attributeValue("caCrtFile");
|
|
|
|
+ String clientCrtFile = element.attributeValue("clientCrtFile");
|
|
|
|
+ String clientKeyFile = element.attributeValue("clientKeyFile");
|
|
|
|
+ String httpsHostnameVerificationEnabled = element.attributeValue("httpsHostnameVerificationEnabled");
|
|
mqtt_options.setServerURIs(serverURIs);
|
|
mqtt_options.setServerURIs(serverURIs);
|
|
mqtt_options.setUserName(username);
|
|
mqtt_options.setUserName(username);
|
|
mqtt_options.setPassword(password.toCharArray());
|
|
mqtt_options.setPassword(password.toCharArray());
|
|
mqtt_clientId = clientId;
|
|
mqtt_clientId = clientId;
|
|
mqtt_topic_prefix = topic_prefix;
|
|
mqtt_topic_prefix = topic_prefix;
|
|
|
|
+ log.warn("连接地址:{}",element.attributeValue("url"));
|
|
|
|
+ if(serverURIs[0].contains("ssl") || serverURIs[0].contains("SSL")){
|
|
|
|
+ log.warn("使用SSL认证");
|
|
|
|
+ mqtt_options.setSocketFactory(SslUtils.getSocketFactory(caCrtFile,clientCrtFile,clientKeyFile,password));
|
|
|
|
+ mqtt_options.setHttpsHostnameVerificationEnabled(BooleanUtil.toBoolean(httpsHostnameVerificationEnabled));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
} else if (socket_or_mqtt.equals("socket")) {
|
|
} else if (socket_or_mqtt.equals("socket")) {
|