Search the FirstSpirit Knowledge Base
Hallo,
ich versuche grade in einem Docker Szenario nach einem FirstSpiritServer Start auf die Remote api zu zu greifen... Allerdings hab ich noch keinen verläßlichen hinweise gefunden. wann die remote api abrufbar ist.. Ein HTTP-Get auf die Login Seite hilft leider nicht . Gibt es einen anderen Test der Verfügbarkeit ?
Kann man mittlerweile in den ConnectionManager irgendwo connect und read timeouts setzen ? (Es gibt nen alten Post , der sagt nein ..)
Gruß André
Lieber André,
an dem Zustand hat sich noch nichts geändert. Es gibt noch keinen verlässlichen Weg festzustellen wann der FS Server so reagiert, wie du es erwarten würdest.
Auf den Port 1088 zu warten garantiert nicht die Verfügbarkeit.
Wir machen das so:
/etc/init.d/fs5 start
while ! nc -z localhost 1088; do
echo "waiting for FirstSpirit..."
sleep 20
done
# let FS settle down
sleep 20
Lieber André,
an dem Zustand hat sich noch nichts geändert. Es gibt noch keinen verlässlichen Weg festzustellen wann der FS Server so reagiert, wie du es erwarten würdest.
Auf den Port 1088 zu warten garantiert nicht die Verfügbarkeit.
Hallo André,
benötigst Du noch weitere Hilfe oder haben Dir die Antworten bereits geholfen?
In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere
Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung
gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Thorsten
Hallo André,
die fs-cli Tools haben einen test Modus der die Verbindung prüft, evtl. könntest du das benutzen?
FSDevTools/CLI_USAGE.md at master · e-Spirit/FSDevTools · GitHub
Viele Grüße
Thomas
Hallo André,
eine weitere Möglichkeit, wenn auch nicht sehr elegant, wäre es ggf. die Logs und dort das "Server started successfully" auszuwerten.
Gruß,
Maik
Ich mache jetzt ein retry auf die API bis es kappt:
executorService = Executors.newSingleThreadScheduledExecutor();
RetryExecutor executor = new AsyncRetryExecutor(executorService).retryOn(Exception.class)
.withFixedBackoff(30000).withMaxRetries(15);
initialization = executor.getWithRetry(ctx -> configFirstSpirit(ctx)).whenComplete((available, error) -> {
if (available) {
System.out.println("configured");
}
});
<dependency>
<groupId>com.nurkiewicz.asyncretry</groupId>
<artifactId>asyncretry</artifactId>
<version>0.0.7</version>
</dependency>