JBoss7上的MySQL:DriverManager说调用者没有加载驱动程序的权限

时间:2012-04-03 09:39:18

标签: mysql java-ee jdbc jboss jboss7.x

在jboss 7.1上部署java Web应用程序时遇到了一些问题...

逐步完成代码,似乎涉及到类加载;导致扫描只是跳过驱动程序:

// java.sql.DriverManager
for (int i = 0; i < drivers.size(); i++) {
    DriverInfo di = (DriverInfo)drivers.elementAt(i);

    // If the caller does not have permission to load the driver then 
    // skip it.
    if ( getCallerClass(callerCL, di.driverClassName ) != di.driverClass ) {
    println("    skipping: " + di);
    continue;
    }
    [...]
}

驱动程序在第一轮“org.h2.Driver”(内置于jboss,对吧?),第二轮是“com.mysql.jdbc.Driver”。两者都被跳过,导致“找不到合适的驱动程序”。所以,问题是:这里发生了什么?这是一个用Maven构建的战争项目。所有库最终都在META-INF / lib中,包括'mysql-connector-java-5.1.6.jar'。它是否特定于JBoss7?

感谢您的帮助,j

1 个答案:

答案 0 :(得分:3)

我建议你将MySQL驱动程序安装为JBoss模块,并将数据源添加到JBoss配置中。为此,我使用了reference manual