2014-09-02 59 views
1

我們在Eclipse中運行一個項目並使用Wildfly作爲web服務器。我們已經配置wildfly並創建了一個新的可用的mysql數據源。我們已經在Eclipse中爲數據庫創建了一個數據庫和一個新的Connection,並使用Wildfly提供的URL創建實體。所以一切都很好。Wildfly mysql而不是h2

現在我們遇到的問題是,當我們運行應用程序並嘗試堅持一個實體時,我們得到一個錯誤,說「由org.h2.jdbc.JdbcSQLException:表」USER「找不到; SQL語句。 。「

gooling後,我們發現我們必須改變standalone.xml並且這樣做。

  <datasource jta="false" jndi-name="java:jboss/fakebook" pool-name="mysql" enabled="true" use-ccm="false"> 
       <connection-url>jdbc:mysql://localhost:3306/fakebook</connection-url> 
       <driver-class>com.mysql.jdbc.Driver</driver-class> 
       <driver>mysql</driver> 
       <security> 
        <user-name>root</user-name> 
       </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="com.mysql" module="mysql.mysql-connector-java"> 
        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> 
       </driver> 
       <driver name="mysql" module="org.mysql"> 
        <driver-class>com.mysql.jdbc.Driver</driver-class> 
       </driver> 
      </drivers> 

重新啓動服務器,但得到相同的例外相同的問題。當我們單獨打開時,它已經變回默認值:

    <driver name="h2" module="com.h2database.h2"> 
        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> 
       </driver> 
       <driver name="mysql" module="org.mysql"> 
        <driver-class>com.mysql.jdbc.Driver</driver-class> 
       </driver> 

回答

0

我想你在standalone.xml更改之前沒有關閉服務器。我對嗎?當您停止服務器時,Wildfly將覆蓋standalone.xml,因此您必須在更改配置文件之前停止服務器! 如果要編輯正在運行的服務器實例中的數據源定義並對其進行測試,則還可以使用命令行界面。

1

除了確保您的standalone.xml不會被覆蓋(如「市」中指出),你還應該添加一個MySQL模塊wildfly:

  1. 轉到%WILDFLY_HOME%\模塊\ SYSTEM \層\基\ COM
  2. 創建文件夾SQL \ MySQL的\主\
  3. 地點MySQL連接罐子主文件夾
  4. 將以下module.xml文件到主文件夾(改變在連接器的名稱資源根路徑根據您使用的版本):
  5. 使用
<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="com.sql.mysql"> 
    <resources> 
    <resource-root path="mysql-connector-java-5.0.4-bin.jar"/>    
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    </dependencies> 
</module> 

源材料:some blog

0

後連接的URL嘗試把這個XML標籤:

<connection-property name="DatabaseName">"name_of_database"</connection-property> 

也許休眠找不到數據庫。