Статус теперь пытается реконнект сделать
parent
21f4a71c63
commit
39c2d6e6fc
|
@ -11,9 +11,7 @@ import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
|
||||||
import ru.ldeloff.servermonitorbot.config.SshConfig;
|
import ru.ldeloff.servermonitorbot.config.SshConfig;
|
||||||
import ru.ldeloff.servermonitorbot.model.SshServer;
|
import ru.ldeloff.servermonitorbot.model.SshServer;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Repository
|
@Repository
|
||||||
|
@ -29,7 +27,7 @@ public class SshRepositoryImpl implements SshRepository {
|
||||||
this.sshServers = sshConfig.getServers();
|
this.sshServers = sshConfig.getServers();
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Session> sessions = new ArrayList<>();
|
private Set<Session> sessions = new HashSet<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void connectToAllServer() {
|
public void connectToAllServer() {
|
||||||
|
@ -38,7 +36,6 @@ public class SshRepositoryImpl implements SshRepository {
|
||||||
Session session = connectToServer(sshServer);
|
Session session = connectToServer(sshServer);
|
||||||
sshServer.setSession(session);
|
sshServer.setSession(session);
|
||||||
log.info("Успешно подключён к " + sshServer.getHost());
|
log.info("Успешно подключён к " + sshServer.getHost());
|
||||||
sessions.add(session);
|
|
||||||
} catch (JSchException e) {
|
} catch (JSchException e) {
|
||||||
log.warn("Не удалось соединиться с " + sshServer.getHost() + ": " + e.getMessage());
|
log.warn("Не удалось соединиться с " + sshServer.getHost() + ": " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
@ -54,6 +51,7 @@ public class SshRepositoryImpl implements SshRepository {
|
||||||
session.setConfig("StrictHostKeyChecking", "no");
|
session.setConfig("StrictHostKeyChecking", "no");
|
||||||
session.setTimeout(TIMEOUT);
|
session.setTimeout(TIMEOUT);
|
||||||
session.connect();
|
session.connect();
|
||||||
|
sessions.add(session);
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +65,7 @@ public class SshRepositoryImpl implements SshRepository {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getStatusSessions() {
|
public String getStatusSessions() {
|
||||||
StringBuilder text = new StringBuilder("Статус соединения: \n");
|
StringBuilder text = new StringBuilder("Статус соединения (может выполняться долго): \n");
|
||||||
sshServers.forEach(server -> {
|
sshServers.forEach(server -> {
|
||||||
text.append(server.getName())
|
text.append(server.getName())
|
||||||
.append(": ")
|
.append(": ")
|
||||||
|
@ -84,10 +82,27 @@ public class SshRepositoryImpl implements SshRepository {
|
||||||
|
|
||||||
private String checkStatusServer(SshServer server) {
|
private String checkStatusServer(SshServer server) {
|
||||||
if (Objects.isNull(server.getSession())) {
|
if (Objects.isNull(server.getSession())) {
|
||||||
return "нет соединения";
|
try {
|
||||||
} else {
|
connectToServer(server);
|
||||||
return server.getSession().isConnected() ? "OK" : "отключён";
|
return "OK";
|
||||||
|
} catch (JSchException e) {
|
||||||
|
log.warn("Не удалось соединиться с " + server.getHost() + ": " + e.getMessage());
|
||||||
|
return "нет соединения";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (server.getSession().isConnected()) {
|
||||||
|
return "OK";
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
connectToServer(server);
|
||||||
|
return "OK";
|
||||||
|
} catch (JSchException e) {
|
||||||
|
log.warn("Не удалось соединиться с " + server.getHost() + ": " + e.getMessage());
|
||||||
|
return "потеряно соединение";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue