2016-09-01 241 views
8

我想在Wildfly 10.0添加數據源,但是當我測試連接此拋出的錯誤消息:WFLYCTL0412:未安裝所需的服務:

Unexpected HTTP response: 500 

Request 
{ 
    "address" => [ 
     ("subsystem" => "datasources"), 
     ("data-source" => "PostgreCrawlazo") 
    ], 
    "operation" => "test-connection-in-pool" 
} 

Response 

Internal Server Error 
{ 
    "outcome" => "failed", 
    "failure-description" => "WFLYJCA0040: failed to invoke operation: WFLYJCA0042: failed to match pool. Check JndiName: java:/crawlazo", 
    "rolled-back" => true, 
    "response-headers" => {"process-state" => "reload-required"} 
} 

從服務器日誌中的錯誤:

2016-09-01 16:28:40,524 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ 
    ("subsystem" => "datasources"), 
    ("data-source" => "PostgreCrawlazo") 
]) - failure description: { 
    "WFLYCTL0412: Required services that are not installed:" => [ 
     "jboss.jdbc-driver.postgres", 
     "jboss.jdbc-driver.postgres" 
    ], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [ 
     "jboss.driver-demander.java:/crawlazo is missing [jboss.jdbc-driver.postgres]", 
     "org.wildfly.data-source.PostgreCrawlazo is missing [jboss.jdbc-driver.postgres]", 
     "org.wildfly.data-source.PostgreCrawlazo is missing [jboss.jdbc-driver.postgres]" 
    ] 
} 

我正在複製從standalone.xml和module.xml相同的配置文件

這裏是部分我如何設立standalone.xml數據源:

<datasource jndi-name="java:/crawlazo" pool-name="PostgreCrawlazo" enabled="true"> 
        <connection-url>jdbc:postgresql://x.x.x.x:5432/crawlazo</connection-url> 
        <driver>postgres</driver> 
        <pool> 
         <min-pool-size>1</min-pool-size> 
         <max-pool-size>40</max-pool-size> 
        </pool> 
        <security> 
         <user-name>someUser</user-name> 
         <password>somePasswd</password> 
        </security> 
       </datasource> 
       <drivers> 
        <driver name="h2" module="com.h2database.h2"> 
         <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> 
        </driver> 
        <driver name="postgres" module="org.postgres"> 
         <driver-class>org.postgresql.Driver</driver-class> 
        </driver> 
      </drivers> 

和module.xml:

<module xmlns="urn:jboss:module:1.0" name="org.postgresql"> 
    <resources> 
     <resource-root path="postgresql-9.2-1004.jdbc3.jar"/> 
    </resources> 
    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
    </dependencies> 
</module> 

我在部署文件夾一個PostgreSQL,9.2-1004.jdbc3.jar。

爲什麼會出現此錯誤?我可以忘記配置什麼?

+0

我有同樣的問題文件。當我將數據源更改爲PostgreSQL時,總會發生這種情況。你找到解決你的問題? – netto

回答

6

司機罐子應該是不會在部署文件夾中的模塊文件夾可暗示這個時候你寫道:

<resources> 
    <resource-root path="postgresql-9.2-1004.jdbc3.jar"/> 
</resources> 
+0

從部署中刪除了jar –

3

我有我的工作是這樣的:

1 - 創建一個文件夾在WildFly安裝DIR: \模塊\有機\ postgres的\主

2 - 創建該文件夾在一個 「module.xml」 上方與所述內容:

<?xml version='1.0' encoding='UTF-8'?> 
<module xmlns="urn:jboss:module:1.1" name="org.postgres"> 

    <resources> 
     <resource-root path="postgresql-9.4-1204-jdbc4.jar"/> 
    </resources> 

    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
     <module name="javax.servlet.api" optional="true"/> 
    </dependencies> 
</module> 

3 - 驅動程序JAR文件複製到第1步

4的相同的文件夾 - 在standalone.xml添加數據源:部署的.war期間

<datasource jta="false" jndi-name="java:jboss/datasources/YourDS" pool-name="YourDS" enabled="true" use-ccm="false"> 
    <connection-url>jdbc:postgresql://localhost:5432/yourDB</connection-url> 
    <driver>postgres</driver> 
    <security> 
     <user-name>user</user-name> 
     <password>pass/password> 
    </security> 
    <validation> 
     <validate-on-match>false</validate-on-match> 
     <background-validation>false</background-validation> 
    </validation> 
    <statement> 
     <share-prepared-statements>false</share-prepared-statements> 
    </statement> 
</datasource> 

<drivers> 
    <driver name="postgres" module="org.postgres"> 
     <driver-class>org.postgresql.Driver</driver-class> 
    </driver> 
</drivers>