David Jencks <david_jencks@...> writes: > > After a lot of study I got the annotations to work, and updated the wiki with what I found necessary. (yes, > @Before and @After work fine in superclasses > > Now I'm interested if anyone has a clue about (2) and (3) > > many thanks! > david jencks > > On Mar 2, 2012, at 12:12 AM, Achim Nierbeck wrote: > > > Hi David, > > > > I'm not sure if the @Before and @After are called in the super class > > but I know they do work in the derived classes. > > You might take a look at the pax web integration tests at [1] for example. > > Maybe this gives you the needed hint :) > > > > regards, Achim > > > > [1] - https://github.com/ops4j/org.ops4j.pax.web/blob/master/itest/src/test/java/org/o ps4j/pax/web/itest/HttpServiceIntegrationTest.java > > > > > > 2012/3/2 David Jencks <david_jencks@...>: > >> Any ideas? I'd particularly like to understand why the @Before and @After annotations don't work. This > is getting somewhat critical for me.... > >> > >> thanks > >> david jencks > >> > >> On Feb 22, 2012, at 5:00 PM, David Jencks wrote: > >> > >>> I've been trying to write a new integration test for felix scr using pax- exam 2.4.0.RC1 and I'm having > some problems. I'm using > >>> <artifactId>pax-exam-container-forked</artifactId> > >>> > >>> <groupId>org.eclipse</groupId> > >>> <artifactId>osgi</artifactId> > >>> <version>3.7.1.R37x_v20110808-1106</version> > >>> > >>> > >>> > >>> 1. I haven't been able to get the junit @Before and @After annotations to work. They are in my test class's > superclass, but the @inject and @Configuration annotations all work in the superclass. > >>> > >>> 2. I'm running the test using equinox and equinox appears to be starting its internal log service, and > felix ds (that I'm trying to test) is using that one rather than pax-logging. > Any idea how to get ds to use > pax-logging instead of equinox's log service? > >>> > >>> 3. I have to stop the framework in my test to demonstrate the behavior I'm interested in. This seems to > cause the test to fail when pax-exam tries to stop the framework. I get a stack trace like: > >>> > >>> <error message="BundleContext is no longer valid" > type="java.lang.IllegalStateException">java.lang.IllegalStateException: BundleContext is no > longer valid > >>> at org.eclipse.osgi.framework.internal.core.BundleContextImpl.checkValid(BundleCont extImpl.java:931) > >>> at org.eclipse.osgi.framework.internal.core.BundleContextImpl.ungetService(BundleCo ntextImpl.java:634) > >>> at org.osgi.util.tracker.ServiceTracker.removedService(ServiceTracker.java:495) > >>> at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.ja va:1006) > >>> at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.ja va:1) > >>> at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:352) > >>> at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:412) > >>> at org.eclipse.osgi.framework.internal.core.ConsoleManager.stopConsole(ConsoleManag er.java:209) > >>> at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.stop(EquinoxLauncher.ja va:284) > >>> at org.eclipse.osgi.launch.Equinox.stop(Equinox.java:266) > >>> at org.ops4j.pax.swissbox.framework.RemoteFrameworkImpl.stop(RemoteFrameworkImpl.ja va:91) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav a:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303) > >>> at sun.rmi.transport.Transport$1.run(Transport.java:159) > >>> at java.security.AccessController.doPrivileged(Native Method) > >>> at sun.rmi.transport.Transport.serviceCall(Transport.java:155) > >>> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) > >>> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) > >>> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) > >>> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:8 86) > >>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > >>> at java.lang.Thread.run(Thread.java:680) > >>> at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall. java:255) > >>> at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) > >>> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) > >>> at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInv ocationHandler.java:178) > >>> at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandl er.java:132) > >>> at $Proxy12.stop(Unknown Source) > >>> at org.ops4j.pax.exam.forked.ForkedTestContainer.stop(ForkedTestContainer.java:179) > >>> at org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactor.invoke(AllConfinedStage dReactor.java:77) > >>> at org.ops4j.pax.exam.junit.JUnit4TestRunner$3.evaluate(JUnit4TestRunner.java:304) > >>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) > >>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69 ) > >>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48 ) > >>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) > >>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) > >>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) > >>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) > >>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) > >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:292) > >>> at org.ops4j.pax.exam.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:93) > >>> at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) > >>> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.ja va:115) > >>> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav a:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(Provide rFactory.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(SurefireStar ter.java:91) > >>> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) > >>> > >>> Is there any way to avoid this error such as by having pax-exam check if the framework is already stopped > before trying to stop it? > >>> > >>> Many thanks for any hints!! > >>> > >>> david jencks > >>> > >>> > >>> _______________________________________________ > >>> general mailing list > >>> general@... > >>> http://lists.ops4j.org/mailman/listinfo/general > >> > >> > >> _______________________________________________ > >> general mailing list > >> general@... > >> http://lists.ops4j.org/mailman/listinfo/general > > > > > > > > -- > > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> > > Committer & Project Lead > > blog <http://notizblog.nierbeck.de/> > > > > _______________________________________________ > > general mailing list > > general@... > > http://lists.ops4j.org/mailman/listinfo/general >
Hi David, It seems that I'm struck with the same issue as you once was. My superclass @Before method is not being called. Can you provide me with some info about how you resolved your issue (maybe a wiki URL) ? Thanks, Marko _______________________________________________ general mailing list general@lists.ops4j.org http://lists.ops4j.org/mailman/listinfo/general