Veröffentlicht 23. März 20214 j Hallo Wie sage ich einem Tomcat 9.5 unter Centos 8.3, dass er auf das MySQL warten soll, damit die datenbankgestützte Anwendung auch sauber startet? Ciao
23. März 20214 j Was hat ein Webserver mit einer Datenbank zu tun? Da braucht man wohl mehr Infos. Wo genau liegt das Problem? Um was für eine Anwendung handelt es sich denn? Bearbeitet 23. März 20214 j von Whiz-zarD
23. März 20214 j naja, der Tomcat hat zieht ein WAR, in dem eine Anwendung enthalten ist, ungefähr "Broschuerenversand.firma.de", diese speichert Informationen in der MySQL-Datenbank, damit später Broschürenversand erfolgen kann.
23. März 20214 j Schau dir mal unit files (von systemd) an. Hier sollte man mit After=mysql.service das erreichen können, was du meinst. Siehe auch hier: https://stackoverflow.com/questions/21830670/start-systemd-service-after-specific-service/21832006#21832006 Bearbeitet 23. März 20214 j von Han_Trio link
23. März 20214 j Zitat The problem of waiting for a database (for example) to be ready is really just a subset of a much larger problem of distributed systems. In production, your database could become unavailable or move hosts at any time. Your application needs to be resilient to these types of failures. To handle this, design your application to attempt to re-establish a connection to the database after a failure. If the application retries the connection, it can eventually connect to the database. https://docs.docker.com/compose/startup-order/ Docker-Compose hatte eine Funktionalität um beispielsweise auf eine DB zu warten, die aber wieder entfernt wurde. Ich denke auch, dass eine Anwendung mit Datenbankausfällen klarkommen muss. Dies würde ich auch außerhalb vom Dockeruniversum unterschreiben.
24. März 20214 j Wenn du keinen Einfluss auf die Anwendung hast, kannst du Skripte wie wait-for-it nutzen, um auf die Datenbank zu warten. Dies löst aber nur das Problem beim Start der Anwendung. Es kann immer mal sein, das die Datenbank nicht zur Verfügung steht (Netzwerkprobleme oder Ähnliches). Dieses Scenario muss die Anwendung selbst abfangen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.