Назад | Перейти на главную страницу

XA-соединение для PostgreSQL в Weblogic

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.