簡體   English   中英

Apache Ignite WildFly中的數據源

[英]Apache Ignite datasource in WildFly

我正在嘗試使用WildFly 10.1.0設置Apache Ignite Cluster,因此我可以將JPA與Ignite一起使用。 我在配置JDBC驅動程序時遇到問題。

到目前為止我做了什么:

獨立-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中,我創建了以下結構 在此輸入圖像描述

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]"
    ]
}

非常感謝您的幫助

  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>

  1. 最后,嘗試使用jta =“false”(在數據源級別上),以防它產生一些差異(我懷疑但是)

可能不是根本原因,但“module.xml”文件的命名空間不正確(對於WF 10,urn應為1.3版本):

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

這可能會阻止模塊加載?

問題出在我在{WILDFLY_HOME} / modules中使用的文件夾結構中。 我的路徑是org / ignite / main,這意味着module.xml中的名稱應該從name =“org.ignite.jdbc”更改為name =“org.ignite”

相同的更改適用於standalone-full.xml中的驅動程序標記

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM