Your reply made me think I would have to add pax-url-aether only, but
that didn't work. I also had to work pax-exam-link-assembly to make it
work.

Now that I have gone past the initial bootstrapping issues, I see a
difference in 2.1.0. I see native test container no longer uses
org.osgi.framework.storage as specified by me. I generate it in maven
target directory to control the life cycle of the cache. pax-exam is
now always using a temporary one as shown by the code below:

    private Map<String, String> createFrameworkProperties( ) throws IOException
    {
        final Map<String, String> p = new HashMap<String, String>();
        p.put( org.osgi.framework.Constants.FRAMEWORK_STORAGE,
m_system.getTempFolder().getAbsolutePath() );
        p.put( org.osgi.framework.Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,
buildString( m_system.getOptions( SystemPackageOption.class ) ) );
        p.put( org.osgi.framework.Constants.FRAMEWORK_BOOTDELEGATION,
buildString( m_system.getOptions( BootDelegationOption.class ) ) );

        for ( SystemPropertyOption option : m_system.getOptions(
SystemPropertyOption.class ) )
        {
            System.setProperty( option.getKey(), option.getValue() );
        }
        return p;
    }

May I know the reason for this change in behavior?

Sahoo

On Mon, Jul 4, 2011 at 11:38 PM, Toni Menzel <t...@okidokiteam.com> wrote:
> You need to have it.
> Keep https://github.com/tonit/Learn-PaxExam/ as a reference. I will update
> this (README.md + Example projects) with every released version.
> Example pom for Native Container (which you are
> using): https://github.com/tonit/Learn-PaxExam/blob/master/lesson-plumbing/pom.xml
> With Native Container its important to now that it comes with minimal Pax
> URL Handlers pre-installed. (pax-url-link and pax-url-classpath).
> This is most important to remember when using maven().groupId().artifact()
> Configuration sugar.
> In that case you need to add pax-url-aether (current version 1.3.3) to the
> pom yourself.
> This is different to the PaxRunner Container, which has all the handlers
> pre-installed by default.
> Native Container is (should be) the lean and mean test container
> implementation which does not involve remoting, extra spawned process etc.
> But i think thats why you chose NativeContainer already.
> let me know if it works for you.
> Toni
>
> On Mon, Jul 4, 2011 at 6:43 PM, Sanjeeb Sahoo <www.sa...@gmail.com> wrote:
>>
>> No, I just checked in the effective pom as well.
>>
>> On Mon, Jul 4, 2011 at 8:16 PM, Toni Menzel <t...@okidokiteam.com> wrote:
>> > you have this in your dependency list ?
>> > <dependency>
>> >             <groupId>org.ops4j.pax.exam</groupId>
>> >             <artifactId>pax-exam-link-assembly</artifactId>
>> >             <version>2.1.0</version>
>> >             <scope>test</scope>
>> > </dependency>
>> > ?
>> >
>> >
>> > On Mon, Jul 4, 2011 at 4:30 PM, Sanjeeb Sahoo <www.sa...@gmail.com>
>> > wrote:
>> >>
>> >> This is what I get when I use exam 2.1.0:
>> >>
>> >> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.52
>> >> sec <<< FAILURE!
>> >> initializationError(org.glassfish.fighterfish.test.it.SingleTest)
>> >> Time elapsed: 0.004 sec  <<< ERROR!
>> >> org.ops4j.pax.exam.TestContainerException: Problem starting test
>> >> container.
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.nat.internal.NativeTestContainer.start(NativeTestContainer.java:199)
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.<init>(EagerSingleStagedReactor.java:56)
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactorFactory.create(EagerSingleStagedReactorFactory.java:34)
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.spi.driversupport.DefaultExamReactor.stage(DefaultExamReactor.java:87)
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.junit.JUnit4TestRunner.prepareReactor(JUnit4TestRunner.java:155)
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.junit.JUnit4TestRunner.<init>(JUnit4TestRunner.java:79)
>> >>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> >> Method)
>> >>        at
>> >>
>> >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>> >>        at
>> >>
>> >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>> >>        at
>> >> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>> >>        at
>> >>
>> >> org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
>> >>        at
>> >>
>> >> org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
>> >>        at
>> >>
>> >> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
>> >>        at
>> >>
>> >> org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
>> >>        at
>> >>
>> >> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
>> >>        at
>> >>
>> >> org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
>> >>        at
>> >>
>> >> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51)
>> >>        at
>> >>
>> >> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
>> >>        at
>> >>
>> >> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
>> >>        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.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
>> >>        at $Proxy0.invoke(Unknown Source)
>> >>        at
>> >>
>> >> org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
>> >>        at
>> >>
>> >> org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
>> >>        at
>> >>
>> >> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
>> >> Caused by: org.osgi.framework.BundleException: Unable to cache bundle:
>> >> link:classpath:META-INF/links/org.ops4j.pax.exam.rbc.link
>> >>        at
>> >> org.apache.felix.framework.Felix.installBundle(Felix.java:2480)
>> >>        at
>> >> org.apache.felix.framework.Felix.installBundle(Felix.java:2436)
>> >>        at
>> >>
>> >> org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:129)
>> >>        at
>> >>
>> >> org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:107)
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.nat.internal.NativeTestContainer.installAndStartBundles(NativeTestContainer.java:273)
>> >>        at
>> >>
>> >> org.ops4j.pax.exam.nat.internal.NativeTestContainer.start(NativeTestContainer.java:196)
>> >>        ... 27 more
>> >> Caused by: java.lang.IllegalStateException: Stream handler unavailable
>> >> due to: null
>> >>        at
>> >>
>> >> org.apache.felix.framework.URLHandlersStreamHandlerProxy.openConnection(URLHandlersStreamHandlerProxy.java:311)
>> >>        at java.net.URL.openConnection(URL.java:945)
>> >>        at
>> >>
>> >> org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:155)
>> >>        at
>> >>
>> >> org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:82)
>> >>        at
>> >>
>> >> org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:60)
>> >>        at
>> >>
>> >> org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:868)
>> >>        at
>> >>
>> >> org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:549)
>> >>        at
>> >>
>> >> org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:148)
>> >>        at
>> >>
>> >> org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:251)
>> >>        at
>> >> org.apache.felix.framework.Felix.installBundle(Felix.java:2476)
>> >>        ... 32 more
>> >>
>> >>
>> >>
>> >> On Mon, Jul 4, 2011 at 7:49 PM, Toni Menzel <t...@okidokiteam.com>
>> >> wrote:
>> >> > can you publish the exception in 2.1.0.
>> >> > I am close to publish 2.1.1 and would be glad to fix issues
>> >> > introduced
>> >> > in
>> >> > 2.1.
>> >> >
>> >> > On Mon, Jul 4, 2011 at 4:02 PM, Sanjeeb Sahoo <www.sa...@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> I upgraded to 2.0.0 and it solved the problem.
>> >> >>
>> >> >> BTW, when I tried to upgrade to 2.1.0, I got some error related to
>> >> >> classpath protocol handler or something similar not found. I didn't
>> >> >> have time to look into it further, so I am using 2.0.0 for the time
>> >> >> being.
>> >> >>
>> >> >> Thanks
>> >> >>
>> >> >> On Mon, Jul 4, 2011 at 12:09 PM, Toni Menzel <t...@okidokiteam.com>
>> >> >> wrote:
>> >> >> > Yes it has changed since 2.0-RC5.
>> >> >> > ( http://ops4j1.jira.com/browse/PAXEXAM-227 is your case ).
>> >> >> > Recommended: 2.1.0
>> >> >> >
>> >> >> > On Mon, Jul 4, 2011 at 5:56 AM, Sanjeeb Sahoo
>> >> >> > <www.sa...@gmail.com>
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> This is why I say pax-exam-extender embeds slf4j api:
>> >> >> >>
>> >> >> >> ss141213@Sahoo:/space/ss141213$ jar tf
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> ~/.m2/repository/org/ops4j/pax/exam/pax-exam-extender-service/2.0.0-RC5/pax-exam-extender-service-2.0.0-RC5.jar
>> >> >> >>  | grep slf
>> >> >> >> slf4j-api-1.6.1.jar
>> >> >> >>
>> >> >> >> ss141213@Sahoo:/space/ss141213$ java -jar
>> >> >> >> /home/ss141213/download/bnd-0.0.366.jar print -manifest
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> ~/.m2/repository/org/ops4j/pax/exam/pax-exam-extender-service/2.0.0-RC5/pax-exam-extender-service-2.0.0-RC5.jar
>> >> >> >> | grep slf
>> >> >> >> Bundle-ClassPath
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> .,pax-swissbox-extender-1.3.1.jar,ops4j-base-monitors-1.2.3.jar,slf4j-api-1.6.1.jar,pax-swissbox-core-1.3.1.jar,pax-swissbox-lifecycle-1.3.1.jar,pax-exam-2.0.0-RC5.jar,pax-swissbox-optional-jcl-1.3.1.jar,ops4j-base-io-1.2.3.jar,ops4j-base-store-1.2.3.jar,ops4j-base-lang-1.2.3.jar
>> >> >> >> Ignore-Package                          org.slf4j.impl
>> >> >> >>
>> >> >> >> I don't know if things have changed since RC5.
>> >> >> >>
>> >> >> >> Thanks,
>> >> >> >> Sahoo
>> >> >> >> On Sun, Jul 3, 2011 at 10:55 PM, Toni Menzel
>> >> >> >> <t...@okidokiteam.com>
>> >> >> >> wrote:
>> >> >> >> > Pax Exam 2 artifacts do not embed slf4j api, can you give a
>> >> >> >> > pointer
>> >> >> >> > that
>> >> >> >> > leads to the evidence ?
>> >> >> >> > Instead, we do install some infrastructure bundles into the
>> >> >> >> > system.
>> >> >> >> > Those are:
>> >> >> >> > url(
>> >> >> >> > "link:classpath:META-INF/links/org.ops4j.pax.exam.rbc.link"
>> >> >> >> > ).startLevel( START_LEVEL_SYSTEM_BUNDLES ),
>> >> >> >> > url(
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > "link:classpath:META-INF/links/org.ops4j.pax.extender.service.link"
>> >> >> >> > ).startLevel( START_LEVEL_SYSTEM_BUNDLES ),
>> >> >> >> > url( "link:classpath:META-INF/links/org.osgi.compendium.link"
>> >> >> >> > ).startLevel(
>> >> >> >> > START_LEVEL_SYSTEM_BUNDLES ),
>> >> >> >> > url(
>> >> >> >> > "link:classpath:META-INF/links/org.ops4j.pax.logging.api.link"
>> >> >> >> > ).startLevel( START_LEVEL_SYSTEM_BUNDLES ) };
>> >> >> >> > As you see, pax logging api gets installed by default. You
>> >> >> >> > cannot
>> >> >> >> > change
>> >> >> >> > that currently (Pax Exam <= 2.1.0 )
>> >> >> >> > On Sun, Jul 3, 2011 at 6:58 PM, Sanjeeb Sahoo
>> >> >> >> > <www.sa...@gmail.com>
>> >> >> >> > wrote:
>> >> >> >> >>
>> >> >> >> >> Pl. update this thread with your findings...
>> >> >> >> >>
>> >> >> >> >> Thanks,
>> >> >> >> >> Sahoo
>> >> >> >> >>
>> >> >> >> >> On Wed, Jun 29, 2011 at 9:03 AM, Sanjeeb Sahoo
>> >> >> >> >> <www.sa...@gmail.com>
>> >> >> >> >> wrote:
>> >> >> >> >> > any thoughts on this subject?
>> >> >> >> >> >
>> >> >> >> >> > On Wed, Jun 22, 2011 at 12:57 AM, Toni Menzel
>> >> >> >> >> > <t...@okidokiteam.com>
>> >> >> >> >> > wrote:
>> >> >> >> >> >> I will have a look at this in the evening.
>> >> >> >> >> >> I need to check what the exam-extender service relationship
>> >> >> >> >> >> to
>> >> >> >> >> >> slf4j
>> >> >> >> >> >> was
>> >> >> >> >> >> like. I recall some solution that benefits exam tests with
>> >> >> >> >> >> any
>> >> >> >> >> >> foreign
>> >> >> >> >> >> (or
>> >> >> >> >> >> none)  slf4j/paxlogging.
>> >> >> >> >> >>
>> >> >> >> >> >> On Tue, Jun 21, 2011 at 7:49 PM, Niclas Hedhman
>> >> >> >> >> >> <nic...@hedhman.org>
>> >> >> >> >> >> wrote:
>> >> >> >> >> >>>
>> >> >> >> >> >>> Not sure about the details in this case, but in principle;
>> >> >> >> >> >>>
>> >> >> >> >> >>>  a. Do not include any logging APIs inside your bundle.
>> >> >> >> >> >>>  b. Do not try to deploy any logging APIs as bundles on
>> >> >> >> >> >>> the
>> >> >> >> >> >>> OSGi
>> >> >> >> >> >>> framework.
>> >> >> >> >> >>>  c. Import-Package the relevant logging APIs in your
>> >> >> >> >> >>> bundles
>> >> >> >> >> >>> that
>> >> >> >> >> >>> needs
>> >> >> >> >> >>> it.
>> >> >> >> >> >>>  d. Deploy Pax Logging as the logging API and logging back
>> >> >> >> >> >>> end
>> >> >> >> >> >>> solution.
>> >> >> >> >> >>>
>> >> >> >> >> >>> In nearly all cases you will be fine. If you only use
>> >> >> >> >> >>> SLF4J
>> >> >> >> >> >>> it
>> >> >> >> >> >>> is
>> >> >> >> >> >>> practically certain you will be ok.
>> >> >> >> >> >>>
>> >> >> >> >> >>> I am not competent in Pax Exam to know if it has any nasty
>> >> >> >> >> >>> tricks
>> >> >> >> >> >>> up
>> >> >> >> >> >>> its sleeve for that not to work, but I assume not.
>> >> >> >> >> >>>
>> >> >> >> >> >>>
>> >> >> >> >> >>> Cheers
>> >> >> >> >> >>> Niclas
>> >> >> >> >> >>>
>> >> >> >> >> >>> On Tue, Jun 21, 2011 at 4:17 AM, Sanjeeb Sahoo
>> >> >> >> >> >>> <www.sa...@gmail.com>
>> >> >> >> >> >>> wrote:
>> >> >> >> >> >>> > Sorry, I was wrong when I said the probe bundle embeded
>> >> >> >> >> >>> > slf4j
>> >> >> >> >> >>> > api.
>> >> >> >> >> >>> > It's the pax-exam-extender-service bundle which is
>> >> >> >> >> >>> > bundling
>> >> >> >> >> >>> > the
>> >> >> >> >> >>> > slf4j
>> >> >> >> >> >>> > api jar. How am I supposed to supply an slf4j binding to
>> >> >> >> >> >>> > it?
>> >> >> >> >> >>> > Is
>> >> >> >> >> >>> > there
>> >> >> >> >> >>> > a fragment bundle made available in pax-exam project
>> >> >> >> >> >>> > that I
>> >> >> >> >> >>> > can
>> >> >> >> >> >>> > attach
>> >> >> >> >> >>> > to the pax-exam-extender-service bundle?
>> >> >> >> >> >>> >
>> >> >> >> >> >>> > Sahoo
>> >> >> >> >> >>> > On Tue, Jun 21, 2011 at 12:31 AM, Sanjeeb Sahoo
>> >> >> >> >> >>> > <www.sa...@gmail.com>
>> >> >> >> >> >>> > wrote:
>> >> >> >> >> >>> >>
>> >> >> >> >> >>> >> I see the probe bundle actually embeds slf4j api jar.
>> >> >> >> >> >>> >> How
>> >> >> >> >> >>> >> can
>> >> >> >> >> >>> >> I
>> >> >> >> >> >>> >> make
>> >> >> >> >> >>> >> it embed an implementation as well so that I can avoid
>> >> >> >> >> >>> >> the
>> >> >> >> >> >>> >> NCDFE?
>> >> >> >> >> >>> >
>> >> >> >> >> >>> > _______________________________________________
>> >> >> >> >> >>> > general mailing list
>> >> >> >> >> >>> > general@lists.ops4j.org
>> >> >> >> >> >>> > http://lists.ops4j.org/mailman/listinfo/general
>> >> >> >> >> >>> >
>> >> >> >> >> >>>
>> >> >> >> >> >>>
>> >> >> >> >> >>>
>> >> >> >> >> >>> --
>> >> >> >> >> >>> Niclas Hedhman, Software Developer
>> >> >> >> >> >>> http://www.qi4j.org - New Energy for Java
>> >> >> >> >> >>>
>> >> >> >> >> >>> I live here; http://tinyurl.com/3xugrbk
>> >> >> >> >> >>> I work here; http://tinyurl.com/24svnvk
>> >> >> >> >> >>> I relax here; http://tinyurl.com/2cgsug
>> >> >> >> >> >>>
>> >> >> >> >> >>> _______________________________________________
>> >> >> >> >> >>> general mailing list
>> >> >> >> >> >>> general@lists.ops4j.org
>> >> >> >> >> >>> http://lists.ops4j.org/mailman/listinfo/general
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> --
>> >> >> >> >> >> Toni Menzel Source
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> _______________________________________________
>> >> >> >> >> >> general mailing list
>> >> >> >> >> >> general@lists.ops4j.org
>> >> >> >> >> >> http://lists.ops4j.org/mailman/listinfo/general
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >
>> >> >> >> >>
>> >> >> >> >> _______________________________________________
>> >> >> >> >> general mailing list
>> >> >> >> >> general@lists.ops4j.org
>> >> >> >> >> http://lists.ops4j.org/mailman/listinfo/general
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > --
>> >> >> >> > Toni Menzel Source
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > _______________________________________________
>> >> >> >> > general mailing list
>> >> >> >> > general@lists.ops4j.org
>> >> >> >> > http://lists.ops4j.org/mailman/listinfo/general
>> >> >> >> >
>> >> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Toni Menzel Source
>> >> >> >
>> >> >> >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Toni Menzel Source
>> >> >
>> >> >
>> >
>> >
>> >
>> > --
>> > Toni Menzel Source
>> >
>> >
>
>
>
> --
> Toni Menzel Source
>
>

_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to