在 FileNet 代码模块的代码模块中部署 ojdbc14.jar

发布于 2024-08-05 12:57:19 字数 2117 浏览 5 评论 0原文

我正在尝试在代码模块中部署几个jar文件,以用于FileNet P8 4.0中的事件操作(FileNet服务器运行在WebSphere 6.1)。其中一个 jar 是我的自定义代码,另一个 jar 是名为 ojdbc14.jarOracle 瘦驱动程序(我也尝试过 ojdbc15.jar strong>),自定义代码使用 oracle jar 来连接到数据源并使用 JNDI 名称获取连接。

当执行事件操作时(调用订阅后),我的自定义模块中的代码被调用 OK,当我的代码需要从 Oracle jar 中加载类时,就会出现问题,我得到这个原因:

错误 - 2009 年 9 月 21 日星期一 16:42:17 UTC 2009 - com.ibm.websphere.naming.CannotInstantiateObjectException:JNDI NamingManager 处理 javax.naming.Reference 对象时发生异常。 [根异常是java.lang.reflect.InitationTargetException] 在 com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:1000) 在 com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:705) 在 com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:2093)

...

引起:java.lang.NoClassDefFoundError: oracle.jdbc.driver.OracleLog 在 com.ibm.ws.rsadapter.dbutils.impl.OracleUtilityImpl.setLogVolume(OracleUtilityImpl.java:85) 在 com.ibm.ws.rsadapter.spi.InternalOracleDataStoreHelper.setProperties(InternalOracleDataStoreHelper.java:142) 在 com.ibm.ws.rsadapter.spi.WSRdbDataSource。(WSRdbDataSource.java:846) 在 com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.setDataSourceProperties(WSManagedConnectionFactoryImpl.java:1947) ... 43 更多

...

引起:java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleLog 在 java.net.URLClassLoader.findClass(URLClassLoader.java:496) 在 com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:132) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:631) 在 com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:87) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:597) ... 48 更多

由于我正在使用代码模块部署 oracle jar,FileNet 不应该能够找到该类吗?您认为我需要配置其他东西吗?

提前致谢。

I'm trying to deploy a couple of jar files in a code module for an event action in FileNet P8 4.0 (the FileNet server runs on WebSphere 6.1). One of these jars is my custom code, and the other jar is the thin driver for Oracle called ojdbc14.jar (I also tried with ojdbc15.jar), the custom code uses the oracle jar in order to connect to a data source and get a connection using the JNDI name.

When the event action is executed (after a subscription is invoked) the code in my custom module is called OK, the problem occurs when my code needs to load classes from the Oracle jar, I get this cause:

ERROR - Mon Sep 21 16:42:17 UTC 2009 - com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is java.lang.reflect.InvocationTargetException]
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:1000)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:705)
at com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:2093)

...

Caused by: java.lang.NoClassDefFoundError: oracle.jdbc.driver.OracleLog
at com.ibm.ws.rsadapter.dbutils.impl.OracleUtilityImpl.setLogVolume(OracleUtilityImpl.java:85)
at com.ibm.ws.rsadapter.spi.InternalOracleDataStoreHelper.setProperties(InternalOracleDataStoreHelper.java:142)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource.(WSRdbDataSource.java:846)
at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.setDataSourceProperties(WSManagedConnectionFactoryImpl.java:1947)
... 43 more

...

Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleLog
at java.net.URLClassLoader.findClass(URLClassLoader.java:496)
at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:132)
at java.lang.ClassLoader.loadClass(ClassLoader.java:631)
at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:87)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
... 48 more

Since I'm deploying the oracle jar with the code module, shouldn't FileNet should be able to find the class? Do you think I need to configure something else?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南薇 2024-08-12 12:57:19

您的应用程序是否可以使用 WebSphere 自己的 JDBC 连接池?当您为特定数据库设置池时,您将在其中安装所有特定于供应商的驱动程序。

通常,当您尝试将基础结构代码放入自己的应用程序中时,会发生各种类型的类路径和类加载器配置。我不确定您的情况是否属于这种情况,但我确实发现留在 WebSphere 中的已知路径往往会给出最平滑的结果。

Is it possible for your application to use WebSphere's own JDBC connection pools? When you set up a pool for a particulr database you get all the vendor-specific drivers installed there.

Generally, all manner of classpath and classloader confisions ensue when you try to place infrastructure code in your own applications. I don't know for certain that this is the case for your situation, but I do find taht staying on the known path in WebSphere tends to give the smoothest results.

陌若浮生 2024-08-12 12:57:19

我发现了问题...不知何故,ojdbc14.jar 文件已损坏,因此即使类路径正确并且无论我尝试如何解决问题,问题始终存在。

感谢您的评论!

I found the problem... somehow the ojdbc14.jar file got corrupted, so even when the classpath was correct and no matter what I tried to fix the problem, the problem was always there.

Thanks for the comments!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文