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