Можно ли разделить источник данных IBM WebSphere Liberty с сервера. xml на включаемый файл? - PullRequest
0 голосов
/ 02 марта 2020

Может ли IBM WebSphere Liberty обрабатывать разбиение записей источников данных / jndi с сервера. xml на включение?

Когда я разделяю источники данных с сервера. xml в свой собственный файл, и включите его в качестве включаемого в сервер. xml файл под тегами библиотеки:

<include location="${server.config.dir}/datasources-join-include.xml"/>

И файл-источник-соединение-включение. 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 обратно прямо на сервер. xml в том же месте, где я включил, он отлично работает.

Ответы [ 2 ]

2 голосов
/ 02 марта 2020

Да, Liberty может обработать разбиение источников данных с сервера. xml в свой собственный файл и затем включить его через <include />, это верно для любого элемента конфигурации.

Я не вижу ничего плохого в вашей конфигурации, так что это может быть неверное расположение файла или имя. Я бы порекомендовал проверить ваш журнал, чтобы убедиться, что вы не видите CWWKG0090E, что указывает на то, что сервер. xml не может найти / разрешить ваш включаемый файл.

0 голосов
/ 02 марта 2020

Да, вы можете поместить источники данных Liberty (элемент dataSource) во включаемые файлы и ссылаться на включаемый файл с сервера. xml, как показано в вашем примере. Это прекрасно работает для меня, так что, возможно, есть небольшая разница в вашей структуре файлов / имен файлов? Я бы порекомендовал двойную или тройную проверку всего, чтобы быть уверенным. Вы используете относительное местоположение ${server.config.dir}, что означает, что ваш файл datasources-join-include.xml должен находиться в той же папке, что и ваш сервер. xml, и должен иметь это точное имя.

Если он все еще не работает для вас Вот кое-что, что может быть полезно при отладке. В блоге Liberty описывается пара конечных точек Liberty REST, одна из которых показывает объединенное представление конфигурации. В вашем случае, после настройки необходимых функций, описанных в сообщении в блоге, чтобы сделать конечную точку REST доступной, попробуйте и посмотрите, распознает ли она конфигурацию вашего источника данных,

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

...