tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Karalus <andreas.kara...@googlemail.com>
Subject Re: openejb shutdown with 3.1.1
Date Thu, 23 Jul 2009 11:10:42 GMT

Hi David,

that works, thx again for the quick answer. The key point was
properties.setProperty("openejb.embedded.initialcontext.close",  "destroy"); 

regards,
andreas


David Blevins wrote:
> 
> Hi Andreas,
> 
> It hasn't changed as much as there are more shutdown requirements.   
> But we have added functionality to allow the container system to be  
> shutdown without the use of internal APIs.  Give this a try.
> 
>   // field in your test case
>      private InitialContext initialContext;
> 
>   // code to boot in @OnBeforeClass
>      Properties properties = new Properties();
>      properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,  
> "org.apache.openejb.client.LocalInitialContextFactory");
>      properties.setProperty("openejb.embedded.initialcontext.close",  
> "destroy");
> 
>      initialContext = new InitialContext(properties);
> 
>   // code in @OnAfterClass
>      initialContext.close();
> 
> 
> -David
> 
> 
> 
> On Jul 22, 2009, at 8:52 AM, Andreas Karalus wrote:
> 
>>
>> hello,
>>
>> does the shutdown code in openejb 3.1.1 have changed?
>>
>> in 3.0 works fine (we had > 1000 tests up and running)
>>
>> 	      Assembler assembler =
>> SystemInstance.get().getComponent(Assembler.class);
>> 	       for (AppInfo appInfo : assembler.getDeployedApplications()) {
>> 	           assembler.destroyApplication(appInfo.jarPath);
>> 	       }
>>
>> 		OpenEJB.destroy();
>>
>>
>> with 3.1.1 this seems not to work any more. I've pasted the stacktrace
>> below.
>> In our tests, the openejb server is started/stopped per TestClass
>> (@OnBeforeClass, @OnAfterClass).
>> Running only one test class with 3.1.1 is always ok, running more  
>> then one
>> class fails after the first tests.
>>
>>
>> thx in advance for help.
>>
>> regards,
>> andreas
>>
>>
>>
>>
>> javax.naming.NamingException: Cannot instantiate a  
>> LocalInitialContext.
>> Exception: java.lang.NullPointerException null [Root exception is
>> java.lang.NullPointerException]
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .client 
>> .LocalInitialContextFactory 
>> .getLocalInitialContext(LocalInitialContextFactory.java:98)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .client 
>> .LocalInitialContextFactory 
>> .getInitialContext(LocalInitialContextFactory.java:43)
>> 	at  
>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java: 
>> 667)
>> 	at  
>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>> 	at javax.naming.InitialContext.init(InitialContext.java:223)
>> 	at javax.naming.InitialContext.<init>(InitialContext.java:197)
>> 	at
>> de 
>> .easycredit 
>> .ed02 
>> .env 
>> .testframework 
>> .openejb.OpenEJBFactory.initContainer(OpenEJBFactory.java:74)
>> 	at
>> de 
>> .easycredit 
>> .ed02.env.testframework.BeanFactory.initContainer(BeanFactory.java: 
>> 209)
>> 	at
>> de 
>> .easycredit 
>> .ed02 
>> .env.testframework.embedded.SimpleTest.onBeforeClass(SimpleTest.java: 
>> 36)
>> 	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 
>> .internal 
>> .runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java: 
>> 74)
>> 	at
>> org 
>> .junit 
>> .internal 
>> .runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50)
>> 	at
>> org 
>> .junit 
>> .internal 
>> .runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java: 
>> 33)
>> 	at  
>> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java: 
>> 52)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal 
>> .junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
>> 	at
>> org 
>> .eclipse 
>> .jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal 
>> .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal 
>> .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java: 
>> 197)
>> Caused by: java.lang.NullPointerException
>> 	at
>> org 
>> .apache 
>> .openejb.client.LocalInitialContext.getRoot(LocalInitialContext.java: 
>> 218)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .client 
>> .LocalInitialContext 
>> .getContainerSystemEjbContext(LocalInitialContext.java:211)
>> 	at
>> org 
>> .apache 
>> .openejb.client.LocalInitialContext.<init>(LocalInitialContext.java: 
>> 68)
>> 	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 
>> .apache 
>> .openejb 
>> .client 
>> .LocalInitialContextFactory 
>> .getLocalInitialContext(LocalInitialContextFactory.java:86)
>> 	... 22 more
>>
>> java.lang.NullPointerException
>> 	at
>> de 
>> .easycredit 
>> .ed02 
>> .env.testframework.embedded.SimpleTest.onAfterClass(SimpleTest.java: 
>> 48)
>> 	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 
>> .internal 
>> .runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java: 
>> 74)
>> 	at
>> org 
>> .junit 
>> .internal 
>> .runners.BeforeAndAfterRunner.runAfters(BeforeAndAfterRunner.java:65)
>> 	at
>> org 
>> .junit 
>> .internal 
>> .runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java: 
>> 37)
>> 	at  
>> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java: 
>> 52)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal 
>> .junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
>> 	at
>> org 
>> .eclipse 
>> .jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal 
>> .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal 
>> .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>> 	at
>> org 
>> .eclipse 
>> .jdt 
>> .internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java: 
>> 197)
>>
>>
>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/openejb-shutdown-with-3.1.1-tp24609135p24609135.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/openejb-shutdown-with-3.1.1-tp24609135p24623646.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Mime
View raw message