我晚上花了大部分时间设置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
但是驱动程序以相同的方式失败并在那里解决了。
MySQLConnPool2的Ping连接池失败。类名错误或类路径未设置为:com.mysql.jdbc.jdbc2.optional.MysqlDataSource请查看server.log以获取更多详细信息。
答案 0 :(得分:3)
在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进行了测试,并且可以:-)
答案 1 :(得分:0)
在使用mysql-connector-8.0.16.jar
的glassfish 5.0上,我遇到了同样的问题。在Glassfish的文档中,我们不得不将mysql-connector-5.1.47-bin.jar
放入domains / domain1 / lib目录。 8.0的连接器没有*-bin.jar
文件。因此,我尝试将*5.1.47-bin.jar
放入domain1 / lib目录。重新启动我的glassfish服务器之后,我尝试使用javax.sql.XADataSource和DataSourceName com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
为MySQL定义一个新的Connection-Pool。按照Glassfish文档MySQL Server Database Type 4 Driver中的描述设置属性后,我成功完成了ping