2017-10-16 9 views
0

J'ai utilisé jetty-maven-plugin pour exécuter avec succès mon API d'Eclipse et il remplace les propriétés du système.Différence de propriétés du système entre jetty-maven-plugin et jetty-runner

Mon fichier Jetty est inférieure

<New id="pdsDatasourcePool" class="org.eclipse.jetty.plus.jndi.Resource"> 
<Arg><Ref refid="wac"/></Arg> 
<Arg>jdbc/ads</Arg> 
<Arg> 
    <Call class="oracle.ucp.jdbc.PoolDataSourceFactory" name="getPoolDataSource" > 
    <Set name="URL"><SystemProperty name="DB.URL" /></Set> 
    <Set name="user"><SystemProperty name="DB.USERNAME" /></Set> 
    <Set name="password"><SystemProperty name="DB.PASSWORD" /></Set> 
    <Set name="minPoolSize"><SystemProperty name="DB_CONNECTION_MIN_POOL_SIZE" type="Integer" default="2" /></Set> 
    <Set name="maxPoolSize"><SystemProperty name="DB_CONNECTION_MAX_POOL_SIZE" type="Integer" default="10"/></Set> 
    <Set name="initialPoolSize"><SystemProperty name="DB_CONNECTION_INITIAL_POOL_SIZE" type="Integer" default="2"/></Set> 
    <Set name="connectionFactoryClassName">oracle.jdbc.replay.OracleDataSourceImpl</Set> 
    </Call> 
</Arg> 

Ces propriétés se substitués par les valeurs correctes lors de l'utilisation -D pour la propriété/valeurs.

Cependant, lorsque nous effectuons le déploiement réel, nous utilisons jetty-runner dans un conteneur Docker et à moins que je ne code les valeurs, l'application ne s'exécute pas. J'ai essayé d'utiliser -e pour remplacer les valeurs, mais cela ne fonctionne pas.

A l'intérieur du conteneur, le script de démarrage est illustré ci-dessous

java $JAVA_OPTS -Dspring.profiles.active=$SPRING_PROFILES_ACTIVE \ 
-Dlogback.configurationFile=opt/config/logback.xml -Dlogs.output=/opt/logs -Dlogs.loglevel=ERROR \ 
-Dorg.apache.cxf.Logger=org.apache.cxf.common.logging.Slf4jLogger \ 
-jar /opt/jetty-runner.jar \ 
--port 8082 --stats unsecure \ 
--config /opt/config/jetty/jetty.xml --config /opt/config/env/jetty-http-env.xml \ 
--lib /opt/lib \ 
/opt/event-microservice-api.war /opt/event-microservice-listener.war 

Ma question est là une manière spécifique dans lequel les paramètres doivent être remplacés lors de l'utilisation de la jetée-coureur?

Vive Kris

Répondre

0

Mise à jour "SystemProperty" à "Env" comme ci-dessous. Cela fonctionnera.

<Set name="URL"><Env name="DB_URL"/></Set> 
<Set name="user"><Env name="DB_USERNAME"/></Set> 
<Set name="password"><Env name="DB_PASSWORD"/></Set> 
<Set name="minPoolSize"><Env name="DB_CONNECTION_MIN_POOL_SIZE" type="Integer" default="2" /></Set> 
<Set name="maxPoolSize"><Env name="DB_CONNECTION_MAX_POOL_SIZE" type="Integer" default="10"/></Set> 
<Set name="initialPoolSize"><Env name="DB_CONNECTION_INITIAL_POOL_SIZE" type="Integer" default="2"/></Set>