sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur skickar man DB AWS-hemligheten till tomcat context.xml?

Om du vill ladda DB-uppgifterna dynamiskt. Det är möjligt att endast för den tid Tomcat laddar context.xml en gång (eftersom Tomcat läste miljövariabeln endast en gång vid start).

Observera att vid körning, när contxt.xml ändra relevanta webbapplikationsladdningar. Tomcat startas inte om.

Så tricket är att leverera DB-referenser som JVM-parameter/argument, som ovanstående ${catalina.base}

Det finns 3 steg:

  1. Deklarera och ställ in värdet på miljövariabeln:

    export DB_CREDENTIALS='*****'
    

    Bra ställe är vid Tomcats användarinloggningsskript.bash_profile , eller Tomcat-miljöer setenv.sh

  2. Skapa en JVM-parameter (systemvariabel) för miljövariabel:lägg till följande rad i setenv.sh före sista raden.

    -Denvironment.db.credentials=${DB_CREDENTIALS} \
    
  3. Använd/anrop den deklarerade JVM-parametern i context.xml. Till exempel:

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



  1. INITCAP() Funktion i Oracle

  2. MySQL främmande nyckel - Kan inte lösa tabellnamn nära TILL

  3. Fatalt fel:Anrop till odefinierad funktion session_register()

  4. SQL Loader, trigger saturation?