Community
Participate
Working Groups
Build Identifier: 3.0.2.RELEASE In method KernelBundleClassLoader#clearJdbcDrivers appears following code: ... synchronized(DriverManager.class) { try { Field writeDriversField = DriverManager.class.getDeclaredField("writeDrivers"); writeDriversField.setAccessible(true); ... This ends up in a java.lang.NoSuchFieldException because field 'writeDrivers' does not exist anymore on java.sql.DriverManager (JDK 7u2). I assume the field is newly named 'registeredDrivers'. Cheers Roland Reproducible: Always Steps to Reproduce: 1. Run Virgo with JDK 7 2. Shutdown Virgo; Exception is logged to log.log
Here a snipped from the log file: [2012-01-31 18:50:38.213] WARN System Bundle Shutdown o.e.v.kernel.userregion.internal.equinox.KernelBundleClassLoader Failure when clearing JDBC drivers for KernelBundleClassLoader: [bundle=com.bechtle.ecom.plan-0.0.1-com.bechtle.ecom.mesosphere.ordertracking.impl_0.0.1.SNAPSHOT-v21085-1328024999389] java.lang.NoSuchFieldException: writeDrivers at java.lang.Class.getDeclaredField(Unknown Source) at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.clearJdbcDrivers(KernelBundleClassLoader.java:271) at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.close(KernelBundleClassLoader.java:260) at org.eclipse.osgi.internal.loader.BundleLoader.close(BundleLoader.java:324) at org.eclipse.osgi.internal.loader.BundleLoader.closeBundleLoader(BundleLoader.java:1360) at org.eclipse.osgi.framework.internal.core.BundleHost.refresh(BundleHost.java:130) at org.eclipse.osgi.framework.internal.core.StartLevelManager.unloadAllBundles(StartLevelManager.java:655) at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:262) at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(StartLevelManager.java:215) at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.suspend(InternalSystemBundle.java:284) at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:690) at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:597) at org.eclipse.osgi.framework.internal.core.InternalSystemBundle$1.run(InternalSystemBundle.java:261) at java.lang.Thread.run(Unknown Source)
Thanks for raising this. Since Virgo has not been tested with Java 7 AFAIK, flagging as enhancement.
*** Bug 379381 has been marked as a duplicate of this bug. ***
Fixed in kernel commit ac361c708cf722a43afbddd76a969f50f1426941.