[
https://issues.apache.org/jira/browse/FELIX-1040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700056#action_12700056
]
Thomas Diesler commented on FELIX-1040:
---------------------------------------
It seems that the felix-cache is shared between the two Felix instances. Should
the cache not be scoped per Felix instance?
The issue persist even if I call Felix.stop() before I create the second Felix
instance.
The javadoc says
/**
* This method asynchronously shuts down the framework, it must be called
at the
* end of a session in order to shutdown all active bundles.
**/
public void stop() throws BundleException
The asynchronous behaviour of this raises the question of how a Felix instance
can be cleanly shut down before a new instance can be started?
> Bundle may start with unresolved packages
> -----------------------------------------
>
> Key: FELIX-1040
> URL: https://issues.apache.org/jira/browse/FELIX-1040
> Project: Felix
> Issue Type: Bug
> Components: Framework
> Affects Versions: felix-1.4.1, felix-1.6.0
> Reporter: Thomas Diesler
> Attachments: jbosgi39-bundleB.jar, jbosgi39-bundleX.jar
>
>
> After an upgrade to felix-1.6.0 I see one of my test cases failing that
> explicitly tests that a bundle cannot be started if an import is not
> satisfied.
> junit.framework.AssertionFailedError: Unresolved constraint expected
> at junit.framework.Assert.fail(Assert.java:47)
> at
> org.jboss.test.osgi.jbosgi39.OSGI39TestCase.testVerifyUnresolved(OSGI39TestCase.java:59)
> public void testVerifyUnresolved() throws Exception
> {
> OSGiFramework framework = getBootstrapProvider().getFramework();
> BundleContext sysContext = framework.getSystemBundleContext();
>
> Bundle bundleB =
> sysContext.installBundle(getTestArchiveURL("jbosgi39-bundleB.jar").toExternalForm());
> assertEquals("Bundle installed", Bundle.INSTALLED, bundleB.getState());
>
> try
> {
> bundleB.start();
> fail("Unresolved constraint expected");
> }
> catch (BundleException ex)
> {
> // expected
> }
>
> Bundle bundleX =
> sysContext.installBundle(getTestArchiveURL("jbosgi39-bundleX.jar").toExternalForm());
>
> bundleB.start();
>
> assertEquals("Bundle resolved", Bundle.RESOLVED, bundleX.getState());
> assertEquals("Bundle active", Bundle.ACTIVE, bundleB.getState());
> bundleB.uninstall();
> bundleX.uninstall();
> }
> Unfortunately, the test only fails rarely. I attached the test bundles.
> The sources are here
> https://anonsvn.jboss.org/repos/jbossas/projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi39/
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.