(滚动到末尾,查找可能与此相关的错误。)
这个连接池看起来是正确的,至少ping是成功的,但是EJB模块如何实际引用它呢?
thufir@dur:~$
thufir@dur:~$ glassfish-4.1/glassfish/bin/asadmin
Use "exit" to exit and "help" for online help.
asadmin>
asadmin> list-jdbc-connection-pools
CLI031: Warning: Option "target" is obsolete and will be ignored.
CLI031: Warning: Option "target" is obsolete and will be ignored.
__TimerPool
DerbyPool
SamplePool
connectionPool
legacy_on_glassfish
Command list-jdbc-connection-pools executed successfully.
asadmin>
asadmin> ping-connection-pool legacy_on_glassfish
Command ping-connection-pool executed successfully.
asadmin>
asadmin> list-jdbc-resources
jdbc/sample
jdbc/__TimerPool
jdbc/__default
jdbc/local
jdbc/legacy_resource
Command list-jdbc-resources executed successfully.
asadmin> (我不确定如何用asadmin输出jdbc连接属性)
使用Netbeans向导,这是生成的persistence.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="EnterpriseLegacyJDBC-ejbPU" transaction-type="JTA">
<jta-data-source>jdbc/legacy_resource</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.schema-generation.database.action" value="create"/>
</properties>
</persistence-unit>
</persistence>但是,选择“数据库中的新实体类”会导致:

在Glassfish控制台中,数据源的驱动程序类的名称是什么?
在控制台中查看,Datasource类名为com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource,而驱动程序类名不可编辑:

-------------------------------------bug report------------------------------------------
strayan@netbeans.org 2013-11-25 09:13:49 抱歉,如果您像教程中提到的那样从DataSource IDE创建NetBean时,它会像您所说的那样工作得很好。但是,当选择在IDE外部创建的DataSource (使用GlassFish服务器管理控制台)时,我们会看到错误。
但是,我不确定使用DataSource服务器管理控制台创建的GlassFish意味着什么--只是找不到这个选项。
另见:
http://computingat40s.wordpress.com/how-to-setup-a-jdbc-connection-in-glassfish/
发布于 2014-11-24 13:31:06
对于PostgreSQL,我也面临着同样的问题,并执行了以下步骤,以便成功地与Netbean进行数据库连接:
现在,基于这个资源,您可以创建实体和整个EJB,而不存在任何问题。
发布于 2014-10-10 08:07:27
嗯,这似乎是个bug:
omniprof@netbeans.org 2014-05-31 16:59:40 在使用驱动程序时,GlassFish 4.0、NetBeans 8.0和Java1.8也遇到了同样的问题。前面的评论是解决方案。在使用JDBC的附加参数时,请仔细检查参数的长列表,“添加具有值driverClass的属性com.mysql.jdbc.Driver到DataSource连接池附加参数”。有许多项目需要填写。很快就会写博客了。

配置文件在哪里?你怎么看待它?另见:
https://askubuntu.com/questions/534320/jdbc-connection-pool-details-on-glassfish
发布于 2016-10-09 14:52:46
这对我起了作用:
1-确保数据库服务器正在运行
2-确保您的应用服务器没有通过停止GlassFish服务器运行
http://netbeans-org.1045718.n5.nabble.com/The-name-of-the-driver-class-for-the-datasource-is-missing-td5725182.html
https://stackoverflow.com/questions/26249567
复制相似问题