Создайте новый файл конфигурации источника данных в папке domains\base_domain\config\jdbc с уникальным именем файла в следующем формате TESTDB-1234-jdbc.xml. Обычно MYDS — это имя источника данных.
Откройте файл TESTDB-1234-jdbc.xml и отредактируйте его, как показано ниже. (Не забудьте изменить значения ниже, чтобы они соответствовали вашей настройке)
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.2/jdbc-data-source.xsd">
<name>TESTDB</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@host:port:db</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>user</value>
</property>
</properties>
<password-encrypted></password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<max-capacity>40</max-capacity>
<connection-creation-retry-frequency-seconds>120</connection-creation-retry-frequency-seconds>
<test-connections-on-reserve>true</test-connections-on-reserve>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<init-sql>SQL SELECT 1 FROM DUAL</init-sql>
</jdbc-connection-pool-params>
<jdbc-data-source-params>
<jndi-name>TESTDB</jndi-name>
<global-transactions-protocol>OnePhaseCommit</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
В созданном файле отсутствует зашифрованный пароль. Вы можете использовать утилиту weblogic.security.Encrypt для шифрования пароля базы данных, как показано ниже. Сначала вам нужно будет убедиться, что среда Weblogic настроена, перейдя в папку domains\base_domain\bin и выполнив следующую команду
source ./setDomainEnv.sh
Теперь вы можете перейти в папку domains\base_domain и запустить заголовок утилита weblogic.security.Encrypt, указывающая пароль базы данных следующим образом.
java weblogic.security.Encrypt dbpassword
Вы должны находиться в папке base_domain. Если вы запустите его в любой другой папке, вы получите исключение
Не удалось инициализировать службу шифрования, убедитесь, что вы находитесь в каталоге домена или указали правильное значение для -Dweblogic.RootDirectory.
Если вы не хотите, чтобы пароль базы данных был виден в истории вашей ОС, оставьте его при запуске команды, и вам будет предложено ввести пароль. Сгенерированный пароль будет в следующем формате
{AES}H8B3Lp73h/9XghMXUmtq5f3CRSpqAzQ0gwoOm5NHYXg=
Скопируйте это значение в зашифрованный паролем тег в файле конфигурации TESTDB-123-jdbc.xml, чтобы тег выглядел следующим образом.
<password-encrypted>{AES}H8B3Lp73h/9XghMXUmtq5f3CRSpqAzQ0gwoOm5NHYXg=</password-encrypted>
Вы успешно создали источник данных с помощью xml, но теперь вам нужно связать его с экземпляром Weblogic. Перейдите в папку domains\base_domain\config и отредактируйте файл config.xml. Добавьте недавно настроенный системный ресурс jdbc непосредственно перед закрытием тега домена. Вот фрагмент
<jdbc-system-resource>
<name>TESTDB</name>
<target>AdminServer</target>
<descriptor-file-name>jdbc/TESTDB-1234-jdbc.xml</descriptor-file-name>
</jdbc-system-resource>
Не забудьте использовать значения, применимые к вашему серверу приложений. После этого вы успешно связали источник данных с экземпляром Weblogic, однако источник данных еще не активен. Перезапустите свой экземпляр weblogic, чтобы источник данных стал активным. После перезапуска вы можете проверить наличие и активность пула соединений с помощью утилиты Weblogic Admin, настроив среду Weblogic, как и раньше, а затем выполнив приведенную ниже команду.
java weblogic.Admin -username weblogic -password password -url t3://localhost:port EXISTS_POOL TESTDB
Если пул соединений присутствует и активен, вы получите
Уже существует пул с именем TESTDB.
В противном случае вы получите следующее исключение
Пул TESTDB не существует.
Вы также можете выполнить тест подключения к источнику данных, настроив среду Weblogic, как и раньше, а затем выполнив приведенную ниже команду.
java weblogic.Admin -username weblogic -password password -url t3://localhost:port TEST_POOL TESTDB
Если соединение в порядке, вы получите
Тест соединения JDBC успешно завершен для пула соединений "TESTDB".
Помните, что если вы не можете успешно протестировать соединение, это не означает, что источник данных не был добавлен в Weblogic. Возможно, база данных не работает, поэтому вам может потребоваться устранить неполадки по мере необходимости. Также обратите внимание, что вы могли использовать Weblogic Admin напрямую, а также для создания источника данных. При использовании утилиты Weblogic Admin, как указано выше, пароль weblogic будет виден в вашей истории. Вот как вы создаете источник данных из файла xml. Однако гораздо проще просто использовать консоль Weblogic.
person
Khetho Mtembo
schedule
12.10.2016