In Java 3.3.0 MongoDriver uso ServerMonitorListener per determinare se il server è attivo e connesso o meno. Qui è il codice esempio,
public class ServerConnection implements ServerMonitorListener {
private MongoClient client;
public ServerConnection(){
try {
MongoClientOptions clientOptions = new MongoClientOptions.Builder()
.addServerMonitorListener(this)
.build();
client = new MongoClient(new ServerAddress("localhost", 27017), clientOptions);
} catch (Exception ex) {
}
}
@Override
public void serverHearbeatStarted(ServerHeartbeatStartedEvent serverHeartbeatStartedEvent) {
// Ping Started
}
@Override
public void serverHeartbeatSucceeded(ServerHeartbeatSucceededEvent serverHeartbeatSucceededEvent) {
// Ping Succeed, Connected to server
}
@Override
public void serverHeartbeatFailed(ServerHeartbeatFailedEvent serverHeartbeatFailedEvent) {
// Ping failed, server down or connection lost
}
}
fonte
2016-09-02 14:34:22
Questo è funziona per me. Ma strano il mio oggetto DB non ha il metodo serverStatus(). – Lugaru
@Lugaru 'db.serverStatus()' è un comando di shell e non fa parte del driver Java di MongoDB – Huber