Как настроить красное смещение XADatasource в WildFly 16 - PullRequest
0 голосов
/ 20 июня 2019

Я мигрирую Java-приложение Spring Enterprise с Tomcat 6 на Wildfly 16, но мне не удалось настроить источник данных подключения Amazon Redshift.Я получаю это сообщение:

ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 42) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("jdbc-driver" => "redshift")
]) - failure description: "WFLYJCA0114: Failed to load datasource class: com.amazon.redshift.jdbc42.DataSource"

Кроме того, в конце развертывания я получаю это сообщение:

ERROR org.jboss.as.controller.management-operation  - WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("xa-data-source" => "jdbc/redshift")
]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => [
        "jboss.jdbc-driver.redshift",
        "jboss.jdbc-driver.redshift"
    ],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.driver-demander.java:jboss/resources/jdbc/redshift is missing [jboss.jdbc-driver.redshift]",
        "org.wildfly.data-source.jdbc/redshift is missing [jboss.jdbc-driver.redshift]",
        "org.wildfly.data-source.jdbc/redshift is missing [jboss.jdbc-driver.redshift]"
    ]
}

Моя конфигурация standalone.xml такая:

<xa-datasource jndi-name="java:jboss/resources/jdbc/myJndi" pool-name="jdbc/myJndi">
  <xa-datasource-property name="ServerName">
    SomeIp
  </xa-datasource-property>
  <xa-datasource-property name="PortNumber">
    1634
  </xa-datasource-property>
  <xa-datasource-property name="DatabaseName">
    myDatabase
  </xa-datasource-property>
  <driver>redshift</driver>
  <security>
    <user-name>user</user-name>
    <password>password</password>
  </security>
</xa-datasource>

Также в автономном режиме, в разделе драйверов у меня есть это:

<driver name="redshift" module="com.amazon.redshift">
  <xa-datasource-class>com.amazon.redshift.jdbc42.DataSource</xa-datasource-class>
</driver>

Если я настраиваю этот источник данных с тегом <datasource> и <connection-url>, он не показывает ошибку, ноЯ не могу использовать транзакции.

ПРИМЕЧАНИЕ. Я обнаружил, что Amazon Redshift основан на Postgresql, поэтому я попытался настроить этот XADataSource с теми же параметрами, но с помощью драйвера postgresql, и он, очевидно, работает хорошо (Я использую XA Datasource Class org.postgresql.xa.PGXADataSource).Я хотел бы знать, если есть способ решить эту проблему красного смещения без этого (с помощью драйвера postgresql).Что-то не так в моей конфигурации?Какой класс XADatasource я должен использовать для красного смещения?

1 Ответ

0 голосов
/ 20 июня 2019

Похоже, вы обращаетесь к драйверу jdbc в разделе автономных драйверов, но ошибка показывает, что он не установлен.Вы можете скачать jdbc 4.2 совместимый драйвер здесь .

...