我晚上大部分时间都在设置 Glassfish 5.0.1 服务器,配置 JDBC 连接池并部署应用程序。我一直遇到的问题:Unable to Connect to JDBC Connection Pool from Glassfish和 GlassFish connection pool
在 Glassfish for MySQL 中,到处都声明使用 Resource Type: javax.sql.DataSource
和 Datasource Classname: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
无论我将 MySQL Connector jar glassfish/lib
或 domain/domain1/bin/lib
放在哪里,上面的方法都不起作用。每次我都删除了我拥有的池,清除了缓存并重新启动了服务器。
我最终切换到 java.sql.Driver
和 Driver Classname: com.mysql.jdbc.Driver
问题是如何使数据源工作?
另外,Driver和Datasource有什么区别?
编辑
与 Payara-5 相同的问题。我将 jar 放在 lib/ext
中,但驱动程序以同样的方式失败并在那里得到解决。
Ping Connection Pool failed for MySQLConnPool2. Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource Please check the server.log for more details.
最佳答案
在5.0 to 8.0 release notes引用了包名称从 com.mysql.jdbc 到 com.mysql.cj 的更改。查看 mysql-connector-java-8.0.12.jar,数据源包中似乎有一个未记录的更改为 com.mysql.cj.jdbc.MysqlDataSource。
我已经通过管理控制台在 Payara 5 中使用 com.mysql.cj.jdbc.MysqlDataSource 进行了测试,它有效:-)
关于java - 设置 Glassfish 数据源问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50467292/