oracle 创建 JDBC 连接池 Glassfish v3 的异常

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2805674/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-10 02:33:54  来源:igfitidea点击:

exception creating a JDBC Connection Pool Glassfish v3

oraclejakarta-eeconnectionglassfishconnection-pooling

提问by jon

I am experiencing problems creating a connection pool in glassfish v3, just for reference i am using the Java EE glassfish bundle.

我在 glassfish v3 中创建连接池时遇到问题,仅供参考,我使用的是 Java EE glassfish 包。

my enviroment vars are as follows

我的环境变量如下

Url: jdbc:oracle:thin:@localhost:1521:xe
User: sys
Password : xxxxxxxx

which i think is all i need to make a connection. but i get the following exception

我认为这就是我需要建立联系的全部内容。但我得到以下异常

WARNING: Can not find resource bundle for this logger.  class name that failed: com.sun.gjc.common.DataSourceObjectBuilder
SEVERE: jdbc.exc_cnfe_ds
java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
 at java.net.URLClassLoader.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:247)
 at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:279)
 at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:108)
 at com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:1167)
 at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:135)
 at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:90)
 at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.getManagedConnection(ConnectorConnectionPoolAdminServiceImpl.java:520)
 at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.getUnpooledConnection(ConnectorConnectionPoolAdminServiceImpl.java:630)
 at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.testConnectionPool(ConnectorConnectionPoolAdminServiceImpl.java:442)
 at com.sun.enterprise.connectors.ConnectorRuntime.pingConnectionPool(ConnectorRuntime.java:898)
 at org.glassfish.admin.amx.impl.ext.ConnectorRuntimeAPIProviderImpl.pingJDBCConnectionPool(ConnectorRuntimeAPIProviderImpl.java:570)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.glassfish.admin.amx.impl.mbean.AMXImplBase.invoke(AMXImplBase.java:1038)
 at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
 at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
 at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
 at org.glassfish.admin.amx.util.jmx.MBeanProxyHandler.invoke(MBeanProxyHandler.java:453)
 at org.glassfish.admin.amx.core.proxy.AMXProxyHandler._invoke(AMXProxyHandler.java:822)
 at org.glassfish.admin.amx.core.proxy.AMXProxyHandler.invoke(AMXProxyHandler.java:526)
 at $Proxy233.pingJDBCConnectionPool(Unknown Source)
 at org.glassfish.admingui.common.handlers.JdbcTempHandler.pingJdbcConnectionPool(JdbcTempHandler.java:99)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442)
 at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)
 at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)
 at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:150)
 at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:98)
 at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
 at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:772)
 at javax.faces.component.UICommand.broadcast(UICommand.java:300)
 at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:160)
 at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
 at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
 at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
 at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
 at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
 at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
 at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
 at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
 at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
 at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
 at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:239)
 at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
 at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
 at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
 at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
 at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
 at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
 at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
 at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
 at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
 at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
 at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
 at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
 at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
 at java.lang.Thread.run(Thread.java:619)

WARNING: RAR8054: Exception while creating an unpooled [test] connection for pool [ testingManagmentDataConnection ], Class name is wrong or classpath is not set for : oracle.jdbc.pool.OracleDataSource
WARNING: Can not find resource bundle for this logger.  class name that failed: com.sun.gjc.common.DataSourceObjectBuilder

does anyone have any ideas what i am doing wrong/ what i will have to do to correct this issue,

有没有人知道我做错了什么/我必须做什么来纠正这个问题,

Thanks for your time Jon

谢谢你的时间乔恩

回答by Juvinao

Copy the jdbc jar to $glassfish-v3/glassfish/domains/domain1/lib/ext/ and restart glassfish.

将 jdbc jar 复制到 $glassfish-v3/glassfish/domains/domain1/lib/ext/ 并重新启动 glassfish。

this should fix the problem.

这应该可以解决问题。

回答by vkraemer

it looks like the server doesn't have the jar that contains the class oracle.jdbc.pool.OracleDataSource on the classpath.

看起来服务器在类路径上没有包含类 oracle.jdbc.pool.OracleDataSource 的 jar。

there are a couple methods to do this.

有几种方法可以做到这一点

The easiest way to get the class onto the classpath is to copy the jar that hold the class into your domain's lib directory.

将类放入类路径的最简单方法是将保存类的 jar 复制到域的 lib 目录中。

That is usually $glassfish-v3-install-root/glassfish/domains/domain1/lib.

这通常是 $glassfish-v3-install-root/glassfish/domains/domain1/lib。