Wildfly的MySQL而不是H2(Wildfly mysql instead of h2)

2019-10-20 20:52发布

我们正在运行在Eclipse中,项目和使用Wildfly作为网络服务器。 我们wildfly可配置并创建了一个新的MySQL数据源的作品。 我们创建了一个数据库,并在Eclipse到数据库的新连接,并使用由Wildfly提供的URL创建的实体。 所以,一切都很好远远这一点。

我们现在的问题是,当我们运行应用程序并尝试坚持的实体,我们得到一个错误说“产生的原因: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>

Answer 1:

除了确保您的standalone.xml不会被覆盖(如“市”中指出),你还应该添加一个MySQL模块wildfly:

  1. 转到%WILDFLY_HOME%\模块\ SYSTEM \层\基\ COM
  2. 创建文件夹的sql \ mysql的\主\
  3. 将MySQL连接罐子主文件夹
  4. 将下面的module.xml文件,主文件夹(根据您使用的版本更改资源根路径连接器的名称):
<?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>

使用的原料: 一些博客



Answer 2:

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



Answer 3:

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

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

也许休眠找不到数据库。



文章来源: Wildfly mysql instead of h2
标签: jboss wildfly