RuntimeException in SynchronousBundleListener does not effect Bundle lisfecycle
-------------------------------------------------------------------------------
Key: FELIX-1176
URL: https://issues.apache.org/jira/browse/FELIX-1176
Project: Felix
Issue Type: Bug
Components: Framework
Affects Versions: felix-1.8.0
Reporter: Thomas Diesler
A bundle is started even if a registered SynchronousBundleListeners throws a
RuntimeException
SynchronousBundleListeners
(http://www.osgi.org/javadoc/r4v41/org/osgi/framework/SynchronousBundleListener.html)
Unlike normal BundleListener objects, SynchronousBundleListeners are
synchronously called during bundle lifecycle processing. The bundle lifecycle
processing will not proceed until all SynchronousBundleListeners have
completed. SynchronousBundleListener objects will be called prior to
BundleListener objects.
----------------
public class BlueprintExtender implements SynchronousBundleListener
{
@SuppressWarnings("unchecked")
public void bundleChanged(BundleEvent event)
{
if (event.getType() == BundleEvent.STARTING)
{
// throws RTE
}
}
2009-05-25 11:12:16,336 INFO [context-basic] BundleEvent RESOLVED
2009-05-25 11:12:16,440 ERROR [org.jboss.osgi.felix.framework.FelixLogger]
EventDispatcher: Error during dispatch.
java.lang.IllegalStateException: Failed to create schema loader:
java.lang.ClassCastException org.apache.xerces.impl.xs.XSImplementationImpl
cannot be cast to org.apache.xerces.xs.XSImplementation
at org.jboss.xb.binding.Util$2.run(Util.java:517)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.xb.binding.Util.getXSImplementation(Util.java:488)
at org.jboss.xb.binding.Util.loadSchema(Util.java:357)
at
org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(XsdBinder.java:113)
at
org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(XsdBinder.java:100)
at
org.jboss.osgi.blueprint.parser.BlueprintParser.<init>(BlueprintParser.java:55)
at
org.jboss.osgi.blueprint.extender.BlueprintExtender.processDescriptor(BlueprintExtender.java:122)
at
org.jboss.osgi.blueprint.extender.BlueprintExtender.bundleChanged(BlueprintExtender.java:92)
at
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:771)
at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:700)
at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:597)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3418)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1443)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:779)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:760)
at
org.jboss.osgi.spi.testing.EmbeddedBundle.start(EmbeddedBundle.java:74)
at
org.jboss.test.osgi.blueprint.context.BlueprintContextTestCase.setUp(BlueprintContextTestCase.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
2009-05-25 11:12:16,446 INFO [jboss-osgi-husky-harness] Test-Package:
org.jboss.test.osgi.blueprint.context in bundle: context-basic [11]
2009-05-25 11:12:16,449 INFO [context-basic] BundleEvent STARTED
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.