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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top