C'è un modo per risolvere le proprietà del sistema in un file web.xml?
Domanda
ho aggiunto una proprietà di sistema nel mio run.conf della mia JBOSS in questo modo:
JAVA_OPTS="$JAVA_OPTS -Dfoo=bar"
Ora la mia domanda è, se c'è un modo per risolvere questa proprietà in un file web.xml in un qualcosa di modo simile a questo:
...
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext-common.xml
classpath:conf/${foo}/applicationContext-local.xml
</param-value>
</context-param>
...
Soluzione
Non conosco alcuna possibilità. Ma a mio parere questo dovrebbe essere attuata nella domanda. Perché si vuole aumentare l'indirezione? Normalmente si accede ai contenuti del web.xml da dentro di voi applicazione (app> web.xml). Perché questo:? App> web.xml> variabile d'ambiente
Altri suggerimenti
È necessario impostare spec-descrittore-proprietà-sostituzione in standalone.xml a true
<subsystem xmlns="urn:jboss:domain:ee:1.2">
<spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
</subsystem>
Da JBoss utilizza internamente il gatto web-container, dovrebbe funzionare come il vostro esempio ($ {foo} /applicationContext-local.xml). Non ho provato il caso di JBoss, ma noi utilizzare questa tecnica per tutto il tempo in Tomcat.
web.xml dovrebbe applicarsi solo a una singola applicazione web. Non dovrebbe avere configurazione globale. Quindi no. In ogni caso, per il momento il server e il webapp è stato caricato, è modo troppo tardi per iniziare a giocare argomenti della riga di comando.