gpt4 book ai didi

java - 连接池在 Glassfish 中不起作用

转载 作者:行者123 更新时间:2023-11-30 08:42:06 25 4
gpt4 key购买 nike

我正在使用本地主机与 Netbeans 结合运行 Glassfish 服务器版本 4.1。我在两台装有 Windows 10 的计算机上执行此操作。在一台计算机上,我安装了一个新的、干净的 Windows 10 版本。在那台计算机上,连接池无法正常工作。在另一台计算机上,它在 Linux(以前的操作系统)中运行良好。

在 Netbeans 中,我正在使用 glassfis-fesources.xml 文件开发一个在 Glassfish 服务器上运行的 Maven Web 应用程序,如下所示:

<resources>
<jdbc-resource
enabled="true"
jndi-name="jdbc/securityDatasource"
object-type="user"
pool-name="jdbcRealmPool">
<description/>
</jdbc-resource>
<jdbc-connection-pool
allow-non-component-callers="false"
associate-with-thread="false"
connection-creation-retry-attempts="0"
connection-creation-retry-interval-in-seconds="10"
connection-leak-reclaim="false"
connection-leak-timeout-in-seconds="0"
connection-validation-method="auto-commit"
datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"
fail-all-connections="false" idle-timeout-in-seconds="300"
is-connection-validation-required="false"
is-isolation-level-guaranteed="true"
lazy-connection-association="false"
lazy-connection-enlistment="false"
match-connections="false"
max-connection-usage-count="0"
max-pool-size="32"
max-wait-time-in-millis="60000"
name="jdbcRealmPool"
non-transactional-connections="false"
pool-resize-quantity="2"
res-type="javax.sql.ConnectionPoolDataSource"
statement-timeout-in-seconds="-1"
steady-pool-size="8"
validate-atmost-once-period-in-seconds="0"
wrap-jdbc-objects="false">
<property name="User" value="admin_computat"/>
<property name="Password" value="*****"/>
<property name="ServerName" value="localhost"/>
<property name="Port" value="3306" />
<property name="DatabaseName" value="admin_computat" />
<property name="Url" value="jdbc:mysql://localhost:3306/admin_computat"/>
</jdbc-connection-pool>

在安装新的 Windows 10 的机器上,我在 Glassfish 中进行 ping 测试时遇到以下错误。

Warning: RAR8054: Exception while creating an unpooled [test] connection for pool [ jdbcRealmPool ], Exception while destroying physical connection Severe: RestResponse.getResponse() gives FAILURE. endpoint = 'http://localhost:4848/management/domain/resources/ping-connection-pool.json'; attrs = '{id=jdbcRealmPool}'

可以在具有相同属性的 Netbeans 中与数据库建立连接。

为什么连接池不工作?

编辑:点击 http://localhost:4848/management/domain/resources/ping-connection-pool.json我找到了这条消息。

{"message":"Cannot find poolName in ping-connection-pool command model, file a bug\ninjection failed on org.glassfish.connectors.admin.cli.PingConnectionPool.poolName with class java.lang.String","command":"ping-connection-pool command","exit_code":"FAILURE","extraProperties":{"methods":[{"name":"GET"},{"messageParameters":{"appname":{"acceptableValues":"","defaultValue":"","optional":"true","type":"string"},"id":{"acceptableValues":"","defaultValue":"","optional":"false","type":"string"},"modulename":{"acceptableValues":"","defaultValue":"","optional":"true","type":"string"},"targetName":{"acceptableValues":"","defaultValue":"","optional":"true","type":"string"}}}],"commandLog":["ping-connection-pool"]},"children":[{"message":"Usage: ping-connection-pool [--appname=appname] [--modulename=modulename] pool_name ","properties":{}}]}

最佳答案

我发现了问题:

配置文件 glassfish-resource.xml 具有以下设置:

datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"

我改了

datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"

现在它正在工作。

也许有人可以给出为什么同一个项目不能在一台计算机上运行的答案。

关于java - 连接池在 Glassfish 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com