2012-12-20 161 views
2

我正在運行JBoss作爲獨立版本。我想連接到我的本地mysql databaseJBoss:無法連接到MySQL數據庫

我複製模塊文件夾中的MySQL連接

[email protected]~/Downloads/jboss/standalone/configuration - 10:56:18 $ ls ../../modules/org/mysql/main/ 
mysql-connector-java-5.1.22-bin.jar 

接下來,我在jboss/standalone/configuration改變了standalone.xml作爲

   <drivers> 
        <driver name="com.mysql" module="org.mysql" /> 
        <driver name="h2" module="com.h2database.h2"> <!-- default provided--> 
         <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> 
        </driver> 
       </drivers> 

然後,我添加了數據源作爲

   <datasource jndi-name="java:/bb" pool-name="bb-pool" enabled="true" use-java-context="true" use-ccm="true"> 
        <connection-url>jdbc:mysql://127.0.0.1:3306/mydb</connection-url> 
        <driver>mysql</driver> 
        <pool> 
         <min-pool-size>10</min-pool-size> 
         <max-pool-size>100</max-pool-size> 
         <prefill>true</prefill> 
        </pool> 
        <security> 
         <user-name>bb</user-name> 
         <password>bb</password> 
        </security> 
        <statement> 
         <prepared-statement-cache-size>100</prepared-statement-cache-size> 
         <share-prepared-statements>true</share-prepared-statements> 
        </statement> 
       </datasource> 

我使用JBoss AS 7.1。 當我開始在控制檯服務器,我看到錯誤

10:54:47,458 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS] 
10:54:47,671 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report 
JBAS014775: New missing/unsatisfied dependencies: 
     service jboss.jdbc-driver.mysql (missing) dependents: [service jboss.data-source.java:/bb] 

10:54:47,676 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990 
10:54:47,676 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 2000ms - Started 134 of 212 services (2 services failed or missing dependencies, 74 services are passive or on-demand) 

,當我打Ctrl+C,我看到

^C10:54:54,998 INFO [org.jboss.as.osgi] (MSC service thread 1-8) JBAS011942: Stopping OSGi Framework 
10:54:55,004 INFO [org.jboss.as.logging] JBAS011503: Restored bootstrap log handlers 
10:54:55,007 INFO [com.arjuna.ats.jbossatx] ARJUNA032018: Destroying TransactionManagerService 
10:54:55,008 INFO [com.arjuna.ats.jbossatx] ARJUNA032014: Stopping transaction recovery manager 
10:54:55,010 INFO [org.apache.catalina.core.StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/] has not been started 
10:54:55,039 INFO [org.apache.coyote.http11.Http11Protocol] Pausing Coyote HTTP/1.1 on http--127.0.0.1-8080 
10:54:55,039 INFO [org.apache.coyote.http11.Http11Protocol] Stopping Coyote HTTP/1.1 on http--127.0.0.1-8080 
10:54:55,043 INFO [org.jboss.as.controller] JBAS014774: Service status report 
JBAS014776: Newly corrected services: 
     service jboss.jdbc-driver.mysql (new available) 

10:54:55,044 INFO [org.jboss.as] JBAS015950: JBoss AS 7.1.1.Final "Brontes" stopped in 47ms 

我是新來的JBoss,不知道如何解決這個問題,或者瞭解什麼是我做錯了

回答

0

我想在你的數據源你引用的司機mysql,但你叫司機com.mysql

嘗試改變一個司機的名字mysql

只是注意:最好是使用CLI來安裝驅動程序,然後使用CLI或Web控制檯來建立你的數據源。 AS7的意圖是這些工具用於你的所有配置,並且很少有理由你應該自己觸摸XML。

0

我有完全一樣的錯誤。花了我幾個小時來了解它是多麼的愚蠢。

在我來說,我是運行JBoss的JBoss的,作爲用戶下的服務,很好的和容易。除了當我創建mysql/main目錄以及其中的文件時,我在另一個用戶下。對於jboss沒有任何權限 - 作爲傢伙。

一個簡單的chown on modules /目錄完成了這項工作。

0

首先,你的驅動程序定義的名字不會在<datasource>定義下匹配驅動程序名稱。將<driver name="com.mysql" ...替換爲<driver name="mysql" ...即可使用。

二,您是否添加了module.xml文件?這是不夠的,MySQL的連接器罐子複製在./modules/com/mysql/main文件夾,您還必須添加module.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 

<module xmlns="urn:jboss:module:1.1" name="com.mysql"> 
    <resources> 
    <resource-root path="mysql-connector-java-5.1.26-bin.jar"/> 
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    <module name="javax.transaction.api"/> 
    </dependencies> 
</module> 

而且,我使用MySQL連接器版本5.0.8時,其中有一個strage類似的問題司機沒有被發現/認出。當我切換到更新的5.1.26版本時,它消失了。

0

請確保您使用的是mysql jdbc connector的最新版本,我解決了同一個問題我的替換最新的mysql connetor