|
@@ -23,6 +23,7 @@ import org.w3c.dom.Node;
|
|
|
|
|
|
import com.google.gson.Gson;
|
|
import com.google.gson.Gson;
|
|
import com.google.gson.JsonArray;
|
|
import com.google.gson.JsonArray;
|
|
|
|
+import com.google.gson.JsonElement;
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.JsonObject;
|
|
import com.icontrols.bridge.common.CommonUtil;
|
|
import com.icontrols.bridge.common.CommonUtil;
|
|
import com.icontrols.bridge.dto.ServiceDetail;
|
|
import com.icontrols.bridge.dto.ServiceDetail;
|
|
@@ -133,56 +134,67 @@ public class MsgServerHandler extends Thread {
|
|
JsonObject object = CommonUtil.getJsonObject(str);
|
|
JsonObject object = CommonUtil.getJsonObject(str);
|
|
JsonArray list = (JsonArray)object.get("services");
|
|
JsonArray list = (JsonArray)object.get("services");
|
|
|
|
|
|
- list.forEach(jsonObj -> {
|
|
|
|
|
|
+ for(JsonElement jsonObj : list) {
|
|
ServiceDetail service = new Gson().fromJson(jsonObj.toString(), ServiceDetail.class);
|
|
ServiceDetail service = new Gson().fromJson(jsonObj.toString(), ServiceDetail.class);
|
|
- if(Arrays.asList(service.getEvents()).contains(eventName)) {
|
|
|
|
- StringBuffer sb = new StringBuffer();
|
|
|
|
-
|
|
|
|
- if(isContainCompany) rcvMsgStr = sb.append(topStr).append(service.getName()).append(bottomStr).toString();
|
|
|
|
-
|
|
|
|
- logger.info("ÃÖÁ¾ - \r\n" + rcvMsgStr);
|
|
|
|
-
|
|
|
|
- Runnable task = () -> {
|
|
|
|
- Socket danziSocket = null;
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- danziSocket = new Socket();
|
|
|
|
- danziSocket.setSoLinger(true, 3000);
|
|
|
|
- danziSocket.setSendBufferSize(SOCKET_BUFFER_SIZE * 1024);
|
|
|
|
- danziSocket.setSoTimeout(SOCKET_WAIT_TIME);
|
|
|
|
-
|
|
|
|
- InetSocketAddress iSocAddr = new InetSocketAddress(service.getAddress(), service.getPort());
|
|
|
|
- danziSocket.connect(iSocAddr, SOCKET_WAIT_TIME);
|
|
|
|
-
|
|
|
|
- DataOutputStream outStream = new DataOutputStream(danziSocket.getOutputStream());
|
|
|
|
- String sendMsg = rcvMsgStr + "\r\n";
|
|
|
|
- byte[] outBF = sendMsg.getBytes("euc-kr");
|
|
|
|
-
|
|
|
|
- outStream.write(outBF);
|
|
|
|
- outStream.flush();
|
|
|
|
-
|
|
|
|
- logger.info("***************************************************");
|
|
|
|
- logger.info(" S E N D T O " + service.getPort() + " C O M P L I T E ! ! ! ! ");
|
|
|
|
- logger.info("***************************************************");
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- // TODO Auto-generated catch block
|
|
|
|
- logger.error("***************************************************");
|
|
|
|
- logger.error(" F A I L T O "+ service.getPort() + " S E N D E V E N T ! ! ! ! ");
|
|
|
|
- logger.error("***************************************************");
|
|
|
|
- e.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
- try {
|
|
|
|
- Thread.sleep(100);
|
|
|
|
- danziSocket.close();
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- e.printStackTrace();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- new Thread(task).start();
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+
|
|
|
|
+ if(!Arrays.asList(service.getEvents()).contains(eventName)) continue;
|
|
|
|
+
|
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
|
+
|
|
|
|
+ if(isContainCompany) rcvMsgStr = sb.append(topStr).append(service.getName()).append(bottomStr).toString();
|
|
|
|
+
|
|
|
|
+ logger.debug("ÃÖÁ¾ - \r\n" + rcvMsgStr);
|
|
|
|
+
|
|
|
|
+ Runnable task = () -> {
|
|
|
|
+ Socket danziSocket = null;
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ danziSocket = new Socket();
|
|
|
|
+ danziSocket.setSoLinger(true, 3000);
|
|
|
|
+ danziSocket.setSendBufferSize(SOCKET_BUFFER_SIZE * 1024);
|
|
|
|
+ danziSocket.setSoTimeout(SOCKET_WAIT_TIME);
|
|
|
|
+
|
|
|
|
+ InetSocketAddress iSocAddr = new InetSocketAddress(service.getAddress(), service.getPort());
|
|
|
|
+ danziSocket.connect(iSocAddr, SOCKET_WAIT_TIME);
|
|
|
|
+
|
|
|
|
+ DataOutputStream outStream = new DataOutputStream(danziSocket.getOutputStream());
|
|
|
|
+ String sendMsg = rcvMsgStr + "\r\n";
|
|
|
|
+ byte[] outBF = sendMsg.getBytes("euc-kr");
|
|
|
|
+
|
|
|
|
+ outStream.write(outBF);
|
|
|
|
+ outStream.flush();
|
|
|
|
+
|
|
|
|
+ StringBuffer logSB = new StringBuffer();
|
|
|
|
+
|
|
|
|
+ logSB.append("\n***************************************************\n")
|
|
|
|
+ .append(" S E N D T O " + service.getPort() + " C O M P L I T E ! ! ! ! \n")
|
|
|
|
+ .append("***************************************************");
|
|
|
|
+
|
|
|
|
+ logger.info(logSB.toString());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ // TODO Auto-generated catch block
|
|
|
|
+
|
|
|
|
+ StringBuffer errSB = new StringBuffer();
|
|
|
|
+
|
|
|
|
+ errSB.append("\n***************************************************\n")
|
|
|
|
+ .append(" F A I L T O \"+ service.getPort() + \" S E N D E V E N T ! ! ! ! \n")
|
|
|
|
+ .append(" ERROR MESSAGE = " + e.getMessage() + " \n")
|
|
|
|
+ .append("***************************************************");
|
|
|
|
+
|
|
|
|
+ logger.error(errSB.toString());
|
|
|
|
+
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ } finally {
|
|
|
|
+ try {
|
|
|
|
+ Thread.sleep(100);
|
|
|
|
+ danziSocket.close();
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+ new Thread(task).start();
|
|
|
|
+ }
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
// TODO Auto-generated catch block
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|