java - 设置 Glassfish 数据源问题

标签 java mysql jakarta-ee glassfish payara

我晚上大部分时间都在设置 Glassfish 5.0.1 服务器,配置 JDBC 连接池并部署应用程序。我一直遇到的问题:Unable to Connect to JDBC Connection Pool from GlassfishGlassFish connection pool

在 Glassfish for MySQL 中,到处都声明使用 Resource Type: javax.sql.DataSourceDatasource Classname: com.mysql.jdbc.jdbc2.optional.MysqlDataSource

无论我将 MySQL Connector jar glassfish/libdomain/domain1/bin/lib 放在哪里,上面的方法都不起作用。每次我都删除了我拥有的池,清除了缓存并重新启动了服务器。

我最终切换到 java.sql.DriverDriver 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/

相关文章:

java - 在 java 中 "string"== "string"是 false 为什么?

java - JTable 鼠标监听器无法正常工作

PHP 对象没有被创建

java - java EE 中的所有内容都是抽象的吗?

java - 为什么在以下代码中 Filter Servlet 中捕获二进制数据失败?

java - 将 SQLite 与我的 Java EE 应用程序集成的正确方法是什么?

java - 如何仅从 HTML 页面中提取主要文本内容?

java - 将 Map<Key, List<Value>> 转换为 Map<Key, Value>

mysql - mysql 中的竞争条件选择 sql

mysql - Django IntegrityError : (1048, "Column ' user_id'不能为空”)