sql >> Databáze >  >> RDS >> PostgreSQL

Jak předat tajemství DB AWS do souboru tomcat context.xml?

Pokud chcete načíst přihlašovací údaje DB dynamicky. Je možné pouze po dobu, kdy Tomcat načítá context.xml jednou (protože Tomcat čte proměnnou prostředí pouze jednou při spuštění).

Všimněte si, že za běhu, kdykoli contxt.xml změnit znovu načtení příslušné webové aplikace. Tomcat není restartován.

Takže trik je doručit přihlašovací údaje DB jako parametr/argument JVM, jako je výše ${catalina.base}

Existují 3 fáze:

  1. Deklarujte a nastavte hodnotu proměnné prostředí:

    export DB_CREDENTIALS='*****'
    

    Dobrým místem je přihlašovací skript uživatele Tomcat .bash_profile , nebo prostředí Tomcat setenv.sh

  2. Vytvořte parametr JVM (systémovou proměnnou) pro proměnnou prostředí:přidejte následující řádek do setenv.sh před posledním řádkem.

    -Denvironment.db.credentials=${DB_CREDENTIALS} \
    
  3. Použijte/zavolejte deklarovaný parametr JVM v kontextu.xml. Například:

    url="jdbc:postgresql://**********:****/${environment.db.credentials}"
    



  1. Jak používat zaškrtávací políčka k načtení konkrétních dat v databázi

  2. Seskupit po dnech a přesto zobrazit dny bez řádků?

  3. Výběr z databáze na základě seznamu jedinečných párů

  4. 2 způsoby, jak vrátit řádky, které neobsahují číselné hodnoty v Oracle