2017-10-16 86 views
0

我一直在使用jetty-maven-plugin从eclipse中成功运行我的api,并且它替代了系统属性。jetty-maven-plugin和jetty-runner之间的系统属性差异

我的码头文件低于

<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> 

这些特性得到由当我使用-D的属性/值的正确值取代。

但是,当我们进行实际部署时,我们在Docker容器中使用jetty-runner,除非对值进行硬编码,否则应用程序不会运行。我尝试使用-e来取代值,但它不起作用。

在容器内,启动脚本如下所示

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 

我的问题是存在其中参数应使用码头浇道当被取代的具体方式是什么?

干杯 克里斯

回答

0

更新 “SystemProperty” 到 “信封”,如下图。这将工作。

<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> 
相关问题