PostgreSQL поддерживает транзакции XA. Мне нужно использовать их в моем WebLogic 12.1.3.0.0.
Когда я пытаюсь создать для этого новый общий источник данных в консоли администратора, я могу выбрать «PostgreSQL», но на следующей странице меня предупреждают, что этот драйвер несовместим с XA.
Я могу предоставить postgresql-9.1-902.jdbc4.jar который содержит драйвер XA: org.postgresql.xa.PGXADataSource.
Но я не нашел места, где можно было бы настроить WebLogic для этого.
Я могу настроить имя класса драйвера в конкретном соединении, поэтому я попробовал, но потом класс не нашел. Если я помещаю банку в каталог lib, класс будет найден, но соединение не будет установлено. Также я не уверен, будет ли WebLogic в этом случае использовать функции XA Postgres или нет.
Вы можете исправить это, добавив в файл новый элемент $ WL_HOME / wlserver / сервер / библиотека / jdbcdrivers.xml
Однако я не уверен в значении "UrlHelperClassname".
<Driver
Database="PostgreSQL - for XA"
Vendor="PostgreSQL"
Type="Type 4"
DatabaseVersion="9.1"
ForXA="true"
ClassName="org.postgresql.xa.PGXADataSource"
URLHelperClassname="weblogic.jdbc.utils.PostgreSQLJDBC4DriverURLHelper"
TestSql="SELECT 1">
<Attribute Name="DbmsName" Required="true" InURL="false"/>
<Attribute Name="DbmsHost" Required="true" InURL="true"/>
<Attribute Name="DbmsPort" Required="true" InURL="true" DefaultValue="5432"/>
<Attribute Name="DbmsUsername" Required="true" InURL="false"/>
<Attribute Name="DbmsPassword" Required="true" InURL="false"/>
</Driver>
Затем вам нужно поместить банку postgres в $ WL_HOME / user_projects / domains / base_domain / lib /.
После перезапуска WebLogic вы можете выбрать «PostgreSQL - для XA» в качестве типа базы данных. Вам нужно будет войти
Однако "databaseName = YOUR_DATABASE_NAME" в области свойств дополнительно к пользователю. Возможно, это можно оптимизировать, но в основном это работает и должно подтолкнуть WebLogic к использованию функций XA.