2011-03-04 3 views
2

을 등록하는 동안 우리는 다음과 같은 오류를 얻고있다 :경고 : 오라클 11g의 ojdbc6.jar를 사용할 때 오류 오라클 JDBC 진단 가능성의 MBean

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

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가 기본 속성이 \ lib 디렉토리 \ logging.properties JRE_HOME에서 파일을 사용하기 때문에 파일을 편집하고이 정보를 추가 : 는
    • 는 oracle.jdbc.level = OFF
  • 또는 자신의 속성 구성은
      을 java.util.logging의에 대한 로그 파일
    • 자바 -Djava.util.logging.config.file =/YourConfig.properties
    • 그것은 우리를 위해 작동

YourConfig.properties에 OFF = oracle.jdbc.level 추가하지 않습니다 위의 WANRING 오류가 발생합니다.

+0

나를위한 것이 아니기 때문에 모든 사람이이 문제를 해결하지 못할 수도 있습니다. Oracle 다운로드 링크가 유효하지 않습니다. – jedison

0

나는 똑같은 문제가있었습니다. 내 환경이 같은지 나는 모른다.

제 환경에서는 동일한 응용 프로그램에서 jdbc와 jboss jar를 모두 사용하고 있습니다. jboss 항아리에있는 어떤 것이 을 클래스 로더에 연결하여 문제를 일으킨다 고 나는 믿지만 확인하지는 못했습니다.

ojdbc 드라이버 jar를로드하고 데이터베이스 인스턴스를 만든 다음 jboss jar를로드하여 문제를 해결했습니다.

0

저는 Maven을 사용하고 있고 프로젝트는 log4j 1.2.15을 사용하고있었습니다. 어떤 이유로 든 1.2.15jms 1.1, jmxtools 1.2.1jmxri 1.2.1에 종속됩니다.

jmxri 1.2.1StandardMBean (java.lang.Class이 아님)을 사용하는 생성자를 사용하여 StandardMBean 버전을 포함합니다. 이 가설을 확인하기 위해 광범위한 테스트를 수행하지는 않았지만이 테스트가 사용 된 클래스의 버전과 오류의 궁극적 인 원인이라고 생각합니다.

log4j 1.2.14에는 이러한 종속성이없는 것으로 보입니다. 그래서 나는 1.2.14에 후퇴 시켰고, 그들을 데리고 나왔다.

+0

나를 위해 log4j 1.2.14를 사용하면 오류가 발생합니다. – jedison