Come posso creare variabili di contesto globale in JBoss?
-
26-09-2019 - |
Domanda
Questo è un follow-up a una domanda che ho postato un po 'indietro: " Posso usare una sola guerra in più ambienti? ". Sono stato in grado di creare una soluzione single-guerra in Tomcat, ma ora ci stanno migrando la nostra applicazione per JBoss 4.2 e non riesco a capire come impostare le variabili di ambiente globali.
In Tomcat 6 questo era abbastanza semplice: ho semplicemente messo il seguente frammento in tomcat/conf/Catalina/myappname.xml
:
<Context ...>
<Environment name="TARGET_ENV" value="DEV" type="java.lang.String" override="false"/>
</Context>
Poi, nella mia app sono stato in grado di risolvere il nome ambiente con la seguente:
Context context = (Context) InitialContext().lookup("java:comp/env");
String targetEnvironment = (String) context.lookup("TARGET_ENV");
Il problema è che non riesco a scoprire dove / come posizionare le variabili globali in JBoss. Ho provato a mettere il tag <Environment>
nei seguenti file senza alcun risultato:
-
server/all/deploy/jboss-web.deployer/context.xml
-
server/default/deploy/jboss-web.deployer/context.xml
So che posso mettere le variabili d'ambiente in web.xml di mia app, ma che sconfigge lo scopo di avere una guerra unificata - avrei ancora bisogno personalizzato .war è per dev, QA e prod
.Sono un principiante JBoss quindi se c'è qualsiasi ulteriore informazione che avrebbe aiutato fammelo sapere e io aggiungo a questa domanda.
Soluzione
Io uso somehing simile a PropertiesService per l'URL del database, e altre cose legate all'ambiente.
Per questo sono sollevato dall'onere di fornire atrifacts relativi ambiente diverso.