|
@@ -1,11 +1,11 @@
|
|
|
package cn.reghao.bnt.agent.ws;
|
|
package cn.reghao.bnt.agent.ws;
|
|
|
|
|
|
|
|
-import cn.reghao.bnt.agent.config.DagentConfig;
|
|
|
|
|
|
|
+import cn.reghao.bnt.agent.config.AgentConfig;
|
|
|
|
|
+import cn.reghao.bnt.agent.service.FileReader;
|
|
|
import cn.reghao.bnt.agent.ws.event.EventCenter;
|
|
import cn.reghao.bnt.agent.ws.event.EventCenter;
|
|
|
import cn.reghao.bnt.common.agent.app.iface.AppDeploy;
|
|
import cn.reghao.bnt.common.agent.app.iface.AppDeploy;
|
|
|
import cn.reghao.bnt.common.agent.app.iface.AppStat;
|
|
import cn.reghao.bnt.common.agent.app.iface.AppStat;
|
|
|
import cn.reghao.bnt.agent.machine.MachineEvent;
|
|
import cn.reghao.bnt.agent.machine.MachineEvent;
|
|
|
-import cn.reghao.bnt.common.docker.Docker;
|
|
|
|
|
import cn.reghao.bnt.common.machine.Machine;
|
|
import cn.reghao.bnt.common.machine.Machine;
|
|
|
import cn.reghao.bnt.common.msg.MessageSender;
|
|
import cn.reghao.bnt.common.msg.MessageSender;
|
|
|
import cn.reghao.jutil.jdk.serializer.JdkSerializer;
|
|
import cn.reghao.jutil.jdk.serializer.JdkSerializer;
|
|
@@ -15,7 +15,6 @@ import okhttp3.WebSocket;
|
|
|
import okhttp3.WebSocketListener;
|
|
import okhttp3.WebSocketListener;
|
|
|
import okio.ByteString;
|
|
import okio.ByteString;
|
|
|
|
|
|
|
|
-import java.util.concurrent.ScheduledExecutorService;
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.logging.Level;
|
|
import java.util.logging.Level;
|
|
|
import java.util.logging.Logger;
|
|
import java.util.logging.Logger;
|
|
@@ -32,19 +31,21 @@ public class WsClient implements MessageSender {
|
|
|
private boolean retry;
|
|
private boolean retry;
|
|
|
private int retryCount;
|
|
private int retryCount;
|
|
|
|
|
|
|
|
- public WsClient(DagentConfig dagentConfig, AppDeploy appDeploy, AppStat appStat) {
|
|
|
|
|
- String protocol = dagentConfig.getProtocol();
|
|
|
|
|
- String host = dagentConfig.getHost();
|
|
|
|
|
- int port = dagentConfig.getPort();
|
|
|
|
|
- this.url = String.format("%s://%s:%s/bgws/agent?token=%s", protocol, host, port, Machine.ID);
|
|
|
|
|
|
|
+ public WsClient(AgentConfig agentConfig, FileReader fileReader, AppDeploy appDeploy, AppStat appStat) {
|
|
|
|
|
+ String protocol = agentConfig.getProtocol();
|
|
|
|
|
+ String host = agentConfig.getHost();
|
|
|
|
|
+ int port = agentConfig.getPort();
|
|
|
|
|
+ String app = "agent";
|
|
|
|
|
+ String host1 = "127.0.0.1";
|
|
|
|
|
+ this.url = String.format("%s://%s:%s/bgws/agent?token=%s&app=%s&host=%s", protocol, host, port, Machine.ID, app, host1);
|
|
|
|
|
+ boolean logstash = agentConfig.isLogstash();
|
|
|
|
|
|
|
|
EventCenter eventCenter = new EventCenter(this, appDeploy, appStat);
|
|
EventCenter eventCenter = new EventCenter(this, appDeploy, appStat);
|
|
|
- // 每 60s 发送一次心跳
|
|
|
|
|
- int heartbeatInterval = 60;
|
|
|
|
|
- MachineEvent machineEvent = new MachineEvent(this, new Machine(), appStat, heartbeatInterval);
|
|
|
|
|
- this.webSocketListener = new WebSocketListenerImpl(this, eventCenter, machineEvent);
|
|
|
|
|
|
|
+ MachineEvent machineEvent = new MachineEvent(this, new Machine(), appStat);
|
|
|
|
|
+ this.webSocketListener = new WebSocketListenerImpl(this, logstash, eventCenter, machineEvent);
|
|
|
this.retry = true;
|
|
this.retry = true;
|
|
|
this.retryCount = 0;
|
|
this.retryCount = 0;
|
|
|
|
|
+ fileReader.start(this);
|
|
|
Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);
|
|
Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -76,7 +77,7 @@ public class WsClient implements MessageSender {
|
|
|
.build();
|
|
.build();
|
|
|
|
|
|
|
|
OkHttpClient okHttpClient = new OkHttpClient.Builder()
|
|
OkHttpClient okHttpClient = new OkHttpClient.Builder()
|
|
|
- //.pingInterval(30, TimeUnit.SECONDS)
|
|
|
|
|
|
|
+ .pingInterval(10, TimeUnit.SECONDS)
|
|
|
.connectTimeout(60, TimeUnit.SECONDS)
|
|
.connectTimeout(60, TimeUnit.SECONDS)
|
|
|
.readTimeout(60, TimeUnit.SECONDS)
|
|
.readTimeout(60, TimeUnit.SECONDS)
|
|
|
.writeTimeout(60, TimeUnit.SECONDS)
|
|
.writeTimeout(60, TimeUnit.SECONDS)
|