能否将IBM WebSphere Liberty Datasource从server.xml拆分为包含文件?

能否将IBM WebSphere Liberty Datasource从server.xml拆分为包含文件?,xml,websphere,websphere-liberty,server.xml,ibm,Xml,Websphere,Websphere Liberty,Server.xml,Ibm,IBM WebSphere Liberty能否将server.xml中的datasources/jndi条目拆分为包含项 当我将数据源从server.xml拆分到它自己的文件中,并将其作为include包含在library标记下面的server.xml文件中时: <include location="${server.config.dir}/datasources-join-include.xml"/> 以及datasources-join-include.xml文件: <?

IBM WebSphere Liberty能否将server.xml中的datasources/jndi条目拆分为包含项

当我将数据源从server.xml拆分到它自己的文件中,并将其作为include包含在library标记下面的server.xml文件中时:

<include location="${server.config.dir}/datasources-join-include.xml"/>
以及datasources-join-include.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<server description="Datasource join include file">

  <dataSource id="db" jndiName="jdbc/Config">
     <jdbcDriver libraryRef="OracleLib"/>
     <properties.oracle URL="jdbc:oracle:xxx:@hostname:port:db" password="password" user="user"/>
  </dataSource>

  <jndiEntry id="db" jndiName="database" value="jdbc/XXXX"/>

</server>

当使用include以这种方式进行设置时,它失败了,因为它似乎无法识别数据源。当我将datasource和jndientry直接放回server.xml中,放回包含的位置时,效果很好。

是的,您可以将Liberty data sources datasource元素放回包含文件中,并引用server.xml中的包含文件,如示例所示。它对我来说非常有用,所以您的文件结构/文件名可能存在一些细微的差异?我建议对每件事都进行两次或三次检查以确保安全。您使用的是相对位置${server.config.dir},这意味着您的datasources-join-include.xml文件应该与server.xml位于同一文件夹中,并且应该具有确切的名称

如果它仍然对您不起作用,下面是一些可能有助于调试的内容。描述了两个Liberty REST端点,其中一个端点显示了配置的合并视图。在您的情况下,在配置了博客文章中描述的必要功能以使REST端点可用后,尝试一下,看看它是否能够识别数据源的配置


https://localhost:9443/ibm/api/config/dataSource

是的,您可以将Liberty data sources数据源元素放入include文件中,并从server.xml引用include文件,如示例所示。它对我来说非常有用,所以您的文件结构/文件名可能存在一些细微的差异?我建议对每件事都进行两次或三次检查以确保安全。您使用的是相对位置${server.config.dir},这意味着您的datasources-join-include.xml文件应该与server.xml位于同一文件夹中,并且应该具有确切的名称

如果它仍然对您不起作用,下面是一些可能有助于调试的内容。描述了两个Liberty REST端点,其中一个端点显示了配置的合并视图。在您的情况下,在配置了博客文章中描述的必要功能以使REST端点可用后,尝试一下,看看它是否能够识别数据源的配置


https://localhost:9443/ibm/api/config/dataSource

是的,Liberty可以处理将数据源从server.xml拆分到自己的文件中,然后通过包含,这对于任何配置元素都是如此


我没有发现您的配置有任何错误,因此可能是文件位置或名称不正确。我建议检查您的日志,确保您没有看到CWWKG0090E,这表明server.xml无法找到/解析您的include文件。

是的,Liberty可以处理将数据源从server.xml拆分为自己的文件,然后通过包含,这对于任何配置元素都是如此


我没有发现您的配置有任何错误,因此可能是文件位置或名称不正确。我建议您检查日志,确保没有看到CWWKG0090E,这表明server.xml无法找到/解析您的包含文件。

就是这样。。。不知道看了5遍之后我怎么会错过它。。。包含文件名为datasources-join.include.xml,而不是datasources-join-include.xml。错误代码有帮助,可以在console.log:CWWKG0090E中找到:${server.config.dir}/datasources-join-include.xml配置资源不存在或无法读取。非常感谢。就是这样。。。不知道看了5遍之后我怎么会错过它。。。包含文件名为datasources-join.include.xml,而不是datasources-join-include.xml。错误代码有帮助,可以在console.log:CWWKG0090E中找到:${server.config.dir}/datasources-join-include.xml配置资源不存在或无法读取。非常感谢。非常感谢。这个答案也很有帮助!非常感谢。这个答案也很有帮助!