Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 警告:注册Oracle JDBC可诊断MBean时出错_Java_Jdbc_Oracle11g - Fatal编程技术网

Java 警告:注册Oracle JDBC可诊断MBean时出错

Java 警告:注册Oracle JDBC可诊断MBean时出错,java,jdbc,oracle11g,Java,Jdbc,Oracle11g,使用Oracle 11g ojdbc6.jar时,我们遇到以下错误: 警告:注册Oracle JDBC可诊断MBean时出错。 java.lang.NoSuchMethodError: java.management.StandardMBean.(Ljava/lang/Class;Z)V 在oracle.jdbc.driver.OracleDiagnosabilityBean上 位于oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriv

使用Oracle 11g ojdbc6.jar时,我们遇到以下错误:

警告:注册Oracle JDBC可诊断MBean时出错。
java.lang.NoSuchMethodError:
java.management.StandardMBean.(Ljava/lang/Class;Z)V
在oracle.jdbc.driver.OracleDiagnosabilityBean上
位于oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:342)
oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:199)

在从许多论坛和博客进行调查后,我们还没有找到任何最终的解决方案。所以,我们想在这里分享解决方法

根据Oracle文档,JDBC可诊断性管理功能引入了一个MBean,Oracle.JDBC.driver.OracleDiagnosabilityBean。这个MBean提供了启用和禁用JDBC日志记录的方法,您可以在这里找到它:

而且,驱动程序使用java.util.logging进行日志记录,实际上在我们的例子中,我们并不需要使用这些信息,所以决定禁用日志,这样就不会再出现警告了

如何禁用驱动程序(oracle.jdbc)的日志:

  • 默认情况下,JRE使用JRE_HOME\lib\logging.properties中的默认属性文件,因此编辑该文件并添加以下信息:
    • oracle.jdbc.level=OFF
  • 或者为java.util.logging配置您自己的属性日志文件
    • java-Djava.util.logging.config.file=/YourConfig.properties
    • 将oracle.jdbc.level=OFF添加到YourConfig.properties

它对我们有效,上面没有任何错误。

我也有同样的问题。我不知道我的环境是否相同

在我的环境中,我在同一个应用程序中同时使用jdbc和jboss JAR。 我相信,但没有证实,jboss jars中的某些东西正在连接 进入类加载器并导致问题

我通过只加载ojdbc驱动程序jar,创建
数据库实例,然后加载jboss JAR。

我使用的是Maven,我的项目使用的是
log4j1.2.15
。无论出于何种原因,
1.2.15
依赖于
jm1.1
jmxtools 1.2.1
,以及
jmxri 1.2.1

jmxri 1.2.1
包含一个版本的
StandardMBean
,其构造函数采用
StandardMBean
(而不是
java.lang.Class
)。虽然我没有做大量的测试来证实这个假设,但我相信这是所使用的类的版本,也是错误的最终原因


似乎
log4j1.2.14
没有这些依赖关系。因此,我退回到
1.2.14
,并将它们取出。

这可能不会解决每个人的问题,因为我没有。指向Oracle下载的链接无效。