IBM WebSphere Liberty是否可以处理将server.xml中的数据源/ jndi条目拆分为一个include?
[当我将数据源从server.xml拆分成它自己的文件时,并将其作为包含文件包含在库标签下面的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进行设置时,它会失败(似乎无法识别数据源)。当我将数据源和jndientry直接放回包含位置的同一位置的server.xml中时,它可以正常工作。
是的,您可以将Liberty数据源(dataSource元素)放入包含文件,并引用server.xml中的包含文件,如您的示例所示。它对我来说很棒,因此您的文件结构/文件名可能会有细微的差别?我建议您进行两次或三次检查以确保所有内容。您正在使用相对位置${server.config.dir}
,这意味着您的datasources-join-include.xml
文件应与server.xml位于同一文件夹中,并且应具有正确的名称。
是的,Liberty可以将server.xml中的数据源拆分成它自己的文件,然后通过<include />
包括在内,对于任何配置元素都是如此。
我在您的配置中没有发现任何错误,因此可能是文件位置或名称不正确。我建议检查您的日志以确保您没有看到CWWKG0090E
,这表明server.xml无法找到/解析您的包含文件。