ВНИМАНИЕ: Ошибка при регистрации Oracle JDBC Diagnosability MBean - PullRequest
3 голосов
/ 04 марта 2011

Мы получаем следующую ошибку при использовании Oracle 11g ojdbc6.jar:

WARNING: Error while registering Oracle JDBC Diagnosability MBean.
java.lang.NoSuchMethodError:
javax.management.StandardMBean.<init>(Ljava/lang/Class;Z)V
        at oracle.jdbc.driver.OracleDiagnosabilityMBean.<init>(OracleDiagnosabilityMBean.java:34)
        at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:342)
        at oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:199)

После изучения многих форумов и блогов мы еще не нашли окончательных решений.Итак, мы хотим поделиться способом обхода здесь.

Ответы [ 3 ]

4 голосов
/ 04 марта 2011

Согласно документу Oracle, функция управления диагностируемостью JDBC представляет MBean, oracle.jdbc.driver.OracleDiagnosabilityMBean.Этот MBean предоставляет средства для включения и выключения ведения журнала JDBC, вы можете найти его здесь: https://docs.oracle.com/cd/B28359_01/java.111/b31224/diagnose.htm.

И драйвер использует 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

Это работает для нас, не получайте ошибку WANRING выше.

0 голосов
/ 17 декабря 2014

Я использую Maven, а мой проект использовал log4j 1.2.15. По какой-либо причине 1.2.15 зависит от jms 1.1, jmxtools 1.2.1 и jmxri 1.2.1.

jmxri 1.2.1 содержит версию StandardMBean с конструктором, который принимает StandardMBean (не java.lang.Class). Несмотря на то, что я не проводил всестороннего тестирования для подтверждения этой гипотезы, я считаю, что это версия используемого класса и основная причина ошибки.

Кажется, что log4j 1.2.14 не имеет этих зависимостей. Поэтому я отступил к 1.2.14 и вынул их.

0 голосов
/ 01 декабря 2011

У меня была точно такая же проблема.Я не знаю, совпадает ли моя среда.

В моей среде я использую jdbc и jboss jar в одном приложении.Я полагаю, но не проверял, что что-то в jboss-jar-файлах подключается к загрузчику классов и вызывает проблему.

Я справился с проблемой, только загрузив jar-файл ojdbc, создав мой экземпляр базы данных, изатем загрузка jboss банок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...