Wildfly mysql而不是h2

问题描述:

我们在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> 

我想你在standalone.xml更改之前没有关闭服务器。我对吗?当您停止服务器时,Wildfly将覆盖standalone.xml,因此您必须在更改配置文件之前停止服务器! 如果要编辑正在运行的服务器实例中的数据源定义并对其进行测试,则还可以使用命令行界面。

除了确保您的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

后连接的URL尝试把这个XML标签:

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

也许休眠找不到数据库。