开放自由替代配置

可以使用config目录中的server.xml文件轻松配置Open Liberty。 如果在Docker容器中运行服务器,则可能需要指定多个配置级别 ,例如公司内部的基本映像,可能需要定义应用程序覆盖或扩展的特定属性。 Open Liberty提供了多个XML配置覆盖位置,以实际方式解决这些情况。

除了显而易见的server.xml文件之外,还有默认配置位于{server.config.dir}/configDropins/defaults/ 。 首先应用此目录中的文件。

接下来,Open Liberty应用位于{server.config.dir}下的server.xml文件。

如果这些可能性还不够,那么还有一个特殊的覆盖目录{server.config.dir}/configDropins/overrides/ 。 此位置的配置文件最后应用,可能会扩展或覆盖先前定义的属性。

默认替代配置文件按文件名的字母顺序应用,并且需要与server.xml相同。 请注意,默认情况下configDropins位置不存在,并且在创建自己的服务器时需要手动添加。

Postgres驱动程序定义

让我们看一个简单的例子。

假设我们要连接到设置为默认数据源的Postgres数据库。 为了利用Docker的写时复制文件系统,我们在较低的图像层(例如,基础图像)中添加了Postgres驱动程序。 也就是说,将JAR文件添加到服务器的lib/目录中,然后我们定义了一个默认配置…​/defaults/postgres-driver.xml ,该配置定义了驱动程序:

<?xml version="1.0" encoding="UTF-8"?>
<server description="OpenLiberty Java EE 8 Server">

  <jdbcDriver id="postgresql-driver"
      javax.sql.XADataSource="org.postgresql.xa.PGXADataSource"
      javax.sql.ConnectionPoolDataSource="org.postgresql.ds.PGConnectionPoolDataSource"
      libraryRef="postgresql-library"/>

  <library id="postgresql-library">
    <fileset id="PostgreSQLFileset" dir="/opt/wlp/lib"
        includes="postgresql-9.4.1212.jar"/>
  </library>

</server>

现在,可以在其他配置位置中使用此默认配置中的JDBC驱动程序。

我们应用程序的Docker映像使用server.xml的连接详细信息定义了数据源:

<?xml version="1.0" encoding="UTF-8"?>
<server description="Coffee shop">

  <!-- Postgres coffee-shop-db definition -->
  <dataSource id="DefaultDataSource" jdbcDriverRef="postgresql-driver"
      type="javax.sql.ConnectionPoolDataSource" transactional="true">

    <properties serverName="coffee-shop-db" portNumber="5432"
        databaseName="postgres" user="postgres" password="postgres"/>

  </dataSource>

</server>

同样,我们有两个Docker映像,一个是Open Liberty附带的基本映像,其中包括postgres-driver.xml和JAR文件,还有我们的应用程序映像,其中添加了server.xml配置,当然还有我们的应用程序。

这样,应用程序的服务器配置保持精简,并且不需要重复在公司内部基本映像中进行的所有默认设置。

翻译自: https://www.javacodegeeks.com/2018/12/open-liberty-override-configuration.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值