当前位置: 首页 > 知识库问答 >
问题:

wildfly将mysql注册为数据源

尹俊雅
2023-03-14

我一直在尝试将mysql配置为WildFly中的数据源。我不确定我错过了什么,我得到一个错误启动。

我在文件夹“/wildfly-8.1.0.final/module/system/layers/base/com/mysql/main”中有mysql-connector-java-5.0.8-bin.jar和module.xml

下面是文件

module.xml

    <module xmlns="urn:jboss:module:1.1" 
        name="com.mysql">
    <resources>
        <resource-root path="mysql-connector-java-5.0.8.jar"/>
        <!-- Insert resources here -->
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
        <module name="javax.servlet.api" optional="true"/>
    </dependencies>
</module>

standalone.xml

  <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
    <driver>h2</driver>
    <security>
      <user-name>sa</user-name>
      <password>sa</password>
    </security>
  </datasource>
  <datasource jta="true" jndi-name="java:jboss/datasources/proj" pool-name="proj" enabled="true" use-java-context="true" use-ccm="true">
    <connection-url>jdbc:mysql://localhost:3306</connection-url>
    <driver>mysql</driver>
    <security>
      <user-name>root</user-name>
      <password>admin123</password>
    </security>
    <statement>
      <prepared-statement-cache-size>32</prepared-statement-cache-size>
      <share-prepared-statements>true</share-prepared-statements>
    </statement>
  </datasource>
  <drivers>
    <driver name="mysql" module="com.mysql">
      <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    </driver>
    <driver name="h2" module="com.h2database.h2">
      <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
    </driver>
  </drivers>
</datasources>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class ConnectSql {
    public static void main(String []args){
        String userName = "root";
        String pass = "admin123";
        String url = "jdbc:mysql://localhost/";
        String driver ="com.mysql.jdbc.Driver";
        String db = "proj";

        try{
            //registering the driver.
            Class.forName(driver);
            Connection con = DriverManager.getConnection(url+db,userName,pass);
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery("select f_name from t_users");
            while(rs.next()){
                System.out.println("name :"+rs.getString(1));
            }


        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch(ClassNotFoundException cnf){
            cnf.printStackTrace();
        }
    }
}

这是我在启动时得到的错误日志

02:45:17,169错误[org.jboss.as.Controller.management-Operation](控制器引导线程)JBAS014613:Operation(“add”)失败-地址:([(“subsystem”=>“datasources”),(“data-source”=>“proj”)])-失败描述:{“JBAS014771:Services with missing/unavailable dependencies”=>[“jboss.datasources/proj缺少[jboss.jdbc-driver.mysql]”,“jboss.drivere到一个或多个间接依赖项不可用。“=>{”无法启动的服务:“=>[”jboss.data-source.reference-factory.proj“,”jboss.naming.context.java.jboss.datasources.proj“],”可能是原因的服务:“=>[”jboss.jdbc-driver.mysql“]}}

共有1个答案

穆歌者
2023-03-14

为了解决Wildfly上的mysql数据源配置问题,我使用管理控制台添加数据源并对其进行测试。

>

  • 如果您登录到web控制台并找到您尝试配置的数据源,请将其删除。将standalone.xml和module.xml重置为原始的。

    访问web控制台的步骤

    测试应显示成功

    对standalone.xml和module.xml的更改是自动进行的。

    如果您现在重新启动服务器,它应该不会出现任何错误,并且您应该能够从您的web项目访问数据库

  •  类似资料:
    • 问题内容: 我有hibernate通过JNDI数据源连接到数据库。 我的目的:使用JNDI注册数据源以测试DAO层。 例 hibernate配置 在测试类中获取SessionFactory: 作为结果: 要注册JNOI,我使用示例(http://www.roseindia.net/tutorial/java/jdbc/registeringthedatasourcewithjndi.html) 请

    • 我尝试使用mysql-connector-java-5.1.38 xml(wildfly-10.1.0.final\module\system\layers\base\com\mysql\main) 在mysql-connector-java-5.1.38上使用和不使用“.jar”都试过 由 但没有奏效 完全有趣的stacktrace错误[org.jboss.as.controller.manag

    • 问题内容: 我正在尝试通过使用SWIG 1.3在Java中实现一些C代码。现在,我必须将一些现有的C重建为Java代码,并提供指向C方法的Java函数的函数指针。 C代码:net.c: client.c: 我在Java中已经拥有的一切是: 并且应该以与上述C代码相同的方式将其注册为回调,现在在Java中: 我发现的是 http://www.swig.org/Doc1.3/SWIGDocumenta

    • 问题内容: 我已使用从IMDB收集信息并将其传输到MYSQL数据库的应用程序导入了一些数据。 似乎这些字段尚未标准化,并且在1个字段中包含许多值 例如: 有没有办法将这些值分开,然后将它们插入到另一个表中,而不重复呢? 我进行了一些谷歌搜索,发现我应该使用PHP处理此数据。但是我一点都不了解PHP。 无论如何,仅使用MYSQL即可转换此​​数据? 问题答案: 您可以使用存储过程,该过程使用游标来解

    • 扩展内可以调用registerFunction来注册内置函数到PHP中。需要注意Zend有限制,必须在Extension对象创建时注册函数。这与类的注册不同,扩展类必须在onStart回调中注册。 PHPX_EXTENSION() { Extension *ext = new Extension("test", "0.0.1"); ext->registerFunction(PHP

    • 我有一个index.blade.php文件(网站首页)用户可以填写一些细节(姓名和电子邮件)和我想做的是传递数据到register.blade.php文件和填充的形式与以前的输入。我在这里读了很多关于old()函数的帖子,但是我不能让它准确地工作。 指数刀身php register.blade.php是使用php artisan make: auth命令生成的默认文件,没有任何变化