Я мигрирую 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 я должен использовать для красного смещения?