0

アプリケーションの OJDBC ドライバーを OJDBC6 から OJDBC7 に更新しました。そして、奇妙なClassCastExceptionを取得しました。内部ログは、次の oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaserListener.(BlockSource.java:348) ことを示しています: java.lang.ClassCastException: sun.management.MemoryImpl cannot be cast to javax.management.NotificationEmitter

http://www.docjar.com/docs/api/sun/management/MemoryImpl.htmlによると、 MemoryImpl は NotificationEmitter を実装しているため、この例外が表示される理由はわかりません。

JVM を Hotspot から IBM (両方とも JDK7) に変更すると、同じ結果になります。 java.lang.ClassCastException: com.ibm.lang.management.MemoryMXBeanImpl incompatible with javax.management.NotificationEmitter

また、MemoryMXBeanImpl は NotificationEmitter を実装します。

誰かが回避策を持っているか、なぜそれが起こるのか考えているなら、私はとても感謝しています!

4

0 に答える 0