在WildFly 中配置MySql

Posted

技术标签:

【中文标题】在WildFly 中配置MySql【英文标题】:Configuring MySql inWildFly 【发布时间】:2014-12-24 18:23:20 【问题描述】:

我按照步骤尝试在 WildFly 中配置 mysql。我有两个问题想请教:

1) 我下载了 mysql-connector-java-5.1.33-bin.jar 并将其放在 modules/system/layers/base/com/mysql/main/ 下。我需要下载实际的 MySql 吗?还是connector jar就够了?

2) 在 WildFly 控制台中创建新数据源时,我无法创建新数据源。我需要填写的部分信息是访问数据库的一对用户名和密码。我应该先在哪里创建这个用户名和密码?我猜这就是我遇到问题的地方。

我在 Wildfly 控制台中测试连接时收到此错误消息:

Unexpected HTTP response: 500

Request

    "address" => [
        ("subsystem" => "datasources"),
        ("data-source" => "mysqlDSPool")
    ],
    "operation" => "test-connection-in-pool"


Response

Internal Server Error

    "outcome" => "failed",
    "failure-description" => "JBAS010440: failed to invoke operation: JBAS010447: Connection is not valid",
    "rolled-back" => true

【问题讨论】:

【参考方案1】:

首先你需要安装Mysql服务器和一个JDBC 4兼容的驱动,一般Mysql.org提供的所有新的JDBC都是JDBC 4兼容的,找一个平台无关的here,然后你需要在这里添加一个数据源在此文件中,standalone/configuration/standalone.xml 或使用此命令

data-source add --name=myDataSource--jndi-name="java:jboss/datasources/myDataSource"                              \
            --connection-url="jdbc:mysql://localhost:3306/myDB"                                  \
            --driver-name=h2 --user-name="myDB_Username" --password="myPassword" 

用户名和密码是用来连接Mysql数据库的。

【讨论】:

【参考方案2】:

1) 您需要下载 jdbc-driver jar,我认为它是连接器 jar。但请不要放在modules/system/...下,而是直接放在modules下,因为system文件夹是为服务器自带的内部模块保留的。

2) 下面是一个示例(配置 Oracle 数据源):

/subsystem=datasources/jdbc-driver=OracleJdbcDriver:add(driver-module-name=oracle.jdbcaq,driver-name=OracleJdbcDriver)    

/subsystem=datasources/data-source=OracleDS:add(jndi-name=java:jboss/datasources/OracleDS,enabled=true,jta=true,use-java-context=true,connection-url=jdbc:oracle:oci:@dbms:1523/DEV,driver-name=OracleJdbcDriver,min-pool-size=5,max-pool-size=100,user-name=username,password=password,prepared-statements-cache-size=100,exception-sorter-class-name=org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter)

【讨论】:

除了连接器jar之外,我想我还需要下载MySql服务器和客户端并安装它。正确的?不然单用连接器不行吗? 是的,当然你需要安装数据库服务器才能使用它;)

以上是关于在WildFly 中配置MySql的主要内容,如果未能解决你的问题,请参考以下文章

在WildFly 中配置MySql

在 Wildfly 10 中配置 HTTP 标头

如何在 Wildfly 10 中配置数据源?

如何在 Wildfly 中配置 Jackson?

如何在 WildFly 中配置 EJB WebServices(入耳式)

在 Wildfly 8.2 中配置日志的正确方法