首页
学习
活动
专区
圈层
工具
发布

5与JDK 17
EN

Stack Overflow用户
提问于 2022-07-12 21:25:06
回答 1查看 326关注 0票数 0

我正在用jdk 17测试payara 5,但是连接池有问题。

代码语言:javascript
复制
<jdbc-connection-pool max-pool-size="100" datasource-classname="oracle.jdbc.pool.OracleDataSource" steady-pool-size="1" validation-table-name="dual" name="oracle_thin_emp" is-connection-validation-required="true" res-type="javax.sql.DataSource">
      <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
      <property name="URL" value="jdbc:oracle:thin:@192.168.50.19:1521:TD"></property>
      <property name="serverName" value="192.168.50.19"></property>
      <property name="User" value="EMP"></property>
      <property name="Password" value="EMP"></property>
      <property name="PortNumber" value="1521"></property>
      <property name="databaseName" value="TD"></property>
    </jdbc-connection-pool>

当我用jdk 8启动payara 5时,连接池正常工作,但是当我用jdk 17启动web服务器并从管理控制台启动ping时,我得到以下错误:Ping连接池oracle_thin_emp失败。类名错误或类路径未设置为: oracle.jdbc.pool.OracleDataSource请查看server.log以获得更多详细信息。

日志:

代码语言:javascript
复制
[Payara 5.2022.2] [SEVERE] [] [javax.enterprise.resource.resourceadapter.com.sun.gjc.util] [tid: _ThreadID=163 _ThreadName=admin-thread-pool::admin-listener(4)] [timeMillis: 1657657513953] [levelValue: 1000] [[
  RAR5099 : Wrong class name or classpath for Datasource Object 
java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
    at com.sun.enterprise.loader.CurrentBeforeParentClassLoader.loadClass(CurrentBeforeParentClassLoader.java:83)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:467)

详细信息:

  • JDK: oracle jdk-17.0.3.1
  • 服务器: payara 5.2022.2
  • 驱动程序: payara5\glassfish\domains\domain1\lib\ext\ojdbc7-12.1.0.2.jar
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-14 08:51:15

将驱动程序放在上面的一个目录中,<payara-home>/glassfish/domains/<domain>/lib

原因似乎是从Java9中删除了扩展机制(system java.ext.dirs)。而且,PayaraServer5.192发行说明声明<payara-home>/glassfish/domains/<domain>/lib/ext不再放在类路径中。自5.192以来,除了Java8之外,PayaraServer还正式支持Java11,但它似乎是一个相应的响应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72958557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档