Apache Ignite источник данных в WildFly - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь настроить Apache Ignite Cluster с WildFly 10.1.0, поэтому я могу использовать JPA с Ignite.У меня проблемы с настройкой драйвера JDBC.

Что я уже сделал:

standalone-full.xml

<datasource jta="false" jndi-name="java:jboss/datasources/IgniteDS" pool-name="IgniteDS" enabled="true">
   <connection-url>jdbc:ignite:thin://172.X.X.146,172.X.X.147,172.X.X.148</connection-url>
   <driver>ignite</driver>
</datasource>

Позже вВ этом же файле я установил драйвер

<driver name="ignite" module="org.ignite.jdbc">
    <driver-class>org.apache.ignite.IgniteJdbcThinDriver</driver-class>
</driver>

Модуль зажигания

В {WILDFLY_HOME} / modules я создал следующую структуру enter image description here

module.xml

<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.1" name="org.ignite.jdbc">
    <resources>
        <resource-root path="ignite-core-2.6.0.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

К сожалению, я получаю следующую ошибку в журнале WildFly при запуске сервера

11:43:31,253 ERROR [org.jboss.as.controller.management-operation] 
(Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: 
([
    ("subsystem" => "datasources"),
    ("data-source" => "IgniteDS")
]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => 
["jboss.jdbc-driver.ignite"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.driver-demander.java:jboss/datasources/IgniteDS is missing [jboss.jdbc-driver.ignite]",
        "org.wildfly.data-source.IgniteDS is missing [jboss.jdbc-driver.ignite]"
    ]
}
11:43:31,263 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: 
([
    ("subsystem" => "datasources"),
    ("data-source" => "IgniteDS")
]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => [
        "jboss.jdbc-driver.ignite",
        "jboss.jdbc-driver.ignite"
    ],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.driver-demander.java:jboss/datasources/IgniteDS is missing [jboss.jdbc-driver.ignite]",
        "org.wildfly.data-source.IgniteDS is missing [jboss.jdbc-driver.ignite]",
        "org.wildfly.data-source.IgniteDS is missing [jboss.jdbc-driver.ignite]"
    ]
}

Ваша помощь очень высокацениться

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018
  1. Остерегайтесь, у вас есть 2 типа или драйверы, обычный (класс водителя) или XA (xa-datasource):

      <driver name="h2" module="com.h2database.h2">
          <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
      </driver>
      <driver name="postgresql" module="org.postgresql">
          <driver-class>org.postgresql.Driver</driver-class>
      </driver>
    
  2. Я иногда видел conf, где имя класса драйвера ... повторяется в объявлении источника данных (но не спрашивайте меня, почему; -)):

 <datasource jta="false" jndi-name="java:jboss/datasources/sqlDataSource" pool-name="sqlDataSource" enabled="true" use-ccm="false">
     <connection-url>... </connection-url>
     <driver-class>com.sybase.jdbc4.jdbc.SybDriver</driver-class>
     <driver>sybase</driver>

В конечном счете, попробуйте jta = "false" (на уровне источника данных) на случай, если он будет иметь некоторые отличия (я сомневаюсь, но)
0 голосов
/ 27 сентября 2018

Проблема была в структуре папок, которую я использовал в {WILDFLY_HOME} / modules.Мой путь - org / ignite / main, что означает, что имя в module.xml должно быть изменено с name = "org.ignite.jdbc" на name = "org.ignite"

То же изменение применяется в теге драйвера вавтономный-full.xml

0 голосов
/ 22 сентября 2018

Может быть не основной причиной, но пространство имен вашего файла "module.xml" неверно (urn должен быть версии 1.3 для WF 10):

<module xmlns="urn:jboss:module:1.3" name="org.ignite.jdbc"> 

Это может помешать модулюот загрузки?

...