You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by dinabandhu <di...@gmail.com> on 2013/11/04 11:07:13 UTC

Tomee Embedded + Arquillian Persistence not working

Hi,

I have successfully setup openejb + arquillian persistence with the
guidelines given @
http://openejb.979440.n4.nabble.com/Strange-error-NoClassDefFound-openejb-hsql-hibernate-arquillian-persistence-tp4664638p4664977.html

However the same settings does not work with tomee embedded and I get a 

org.jboss.arquillian.persistence.core.exception.ContextNotAvailableException:
No Naming Context available

I have attached a project which have two profiles , openejb and
tomee-embeded. They are virtually identical except the container adapter.
The openejb profile works without any issues but the tomee profile does not
work.

I would appreciate any pointers very much.

The stack trace I get is -


org.jboss.arquillian.persistence.core.exception.ContextNotAvailableException:
No Naming Context available.
	at
org.jboss.arquillian.persistence.core.lifecycle.PersistenceTestTrigger.loadDataSource(PersistenceTestTrigger.java:141)
	at
org.jboss.arquillian.persistence.core.lifecycle.PersistenceTestTrigger.createDataSource(PersistenceTestTrigger.java:131)
	at
org.jboss.arquillian.persistence.core.lifecycle.PersistenceTestTrigger.beforeTest(PersistenceTestTrigger.java:112)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at
org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
	at
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
	at
org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
	at
org.jboss.arquillian.container.test.impl.client.ContainerEventController.createBeforeContext(ContainerEventController.java:124)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at
org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at
org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at
org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
	at
org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95)
	at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:222)
	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
	at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
	at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
	at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
	at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
	at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
	at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
	at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
	at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:236)
	at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
	at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)

Regards,
Dinabandhu

arquillian_openejb_tomee.zip
<http://openejb.979440.n4.nabble.com/file/n4665930/arquillian_openejb_tomee.zip>  



--
View this message in context: http://openejb.979440.n4.nabble.com/Tomee-Embedded-Arquillian-Persistence-not-working-tp4665930.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: Tomee Embedded + Arquillian Persistence not working

Posted by dinabandhu <di...@gmail.com>.
Hi,

Thanks for your reply. As of now, we are planing to stick with managed
containers.

Thanks again for your help.

Regards,
Dinabandhu



--
View this message in context: http://openejb.979440.n4.nabble.com/Tomee-Embedded-Arquillian-Persistence-not-working-tp4665930p4666102.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: Tomee Embedded + Arquillian Persistence not working

Posted by Romain Manni-Bucau <rm...@gmail.com>.
We have on trunk several light (= not full) support of
servlet/lister/filter. Just add openejb-http dependency
Le 4 nov. 2013 12:13, "dinabandhu" <di...@gmail.com> a écrit :

> Hi Romain,
>
> Thanks for your prompt reply.
>
> It does sound like bad news.
>
> Our applications do have servlets and pure openejb won't work for us.That
> is
> why I was looking at tomee embedded. Is it possible(in reasonably
> straightforward way) to go the other way round add a servlet layer on top
> of
> openejb embedded?
>
> Regards,
> Dinabandhu
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Tomee-Embedded-Arquillian-Persistence-not-working-tp4665930p4665934.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: Tomee Embedded + Arquillian Persistence not working

Posted by dinabandhu <di...@gmail.com>.
Hi Romain,

Thanks for your prompt reply.

It does sound like bad news. 

Our applications do have servlets and pure openejb won't work for us.That is
why I was looking at tomee embedded. Is it possible(in reasonably
straightforward way) to go the other way round add a servlet layer on top of
openejb embedded? 

Regards,
Dinabandhu



--
View this message in context: http://openejb.979440.n4.nabble.com/Tomee-Embedded-Arquillian-Persistence-not-working-tp4665930p4665934.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: Tomee Embedded + Arquillian Persistence not working

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi

you hit some kind of the limitations of the embedded mode. OpenEJB
embedded got a very deep integration which is not the case of tomee
embeded so it is quite normal it doesn't work since arquillian relies
on contexts which are blurry in embedded mode without specific adapter
hacks.


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2013/11/4 dinabandhu <di...@gmail.com>:
> Hi,
>
> I have successfully setup openejb + arquillian persistence with the
> guidelines given @
> http://openejb.979440.n4.nabble.com/Strange-error-NoClassDefFound-openejb-hsql-hibernate-arquillian-persistence-tp4664638p4664977.html
>
> However the same settings does not work with tomee embedded and I get a
>
> org.jboss.arquillian.persistence.core.exception.ContextNotAvailableException:
> No Naming Context available
>
> I have attached a project which have two profiles , openejb and
> tomee-embeded. They are virtually identical except the container adapter.
> The openejb profile works without any issues but the tomee profile does not
> work.
>
> I would appreciate any pointers very much.
>
> The stack trace I get is -
>
>
> org.jboss.arquillian.persistence.core.exception.ContextNotAvailableException:
> No Naming Context available.
>         at
> org.jboss.arquillian.persistence.core.lifecycle.PersistenceTestTrigger.loadDataSource(PersistenceTestTrigger.java:141)
>         at
> org.jboss.arquillian.persistence.core.lifecycle.PersistenceTestTrigger.createDataSource(PersistenceTestTrigger.java:131)
>         at
> org.jboss.arquillian.persistence.core.lifecycle.PersistenceTestTrigger.beforeTest(PersistenceTestTrigger.java:112)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>         at
> org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>         at
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>         at
> org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
>         at
> org.jboss.arquillian.container.test.impl.client.ContainerEventController.createBeforeContext(ContainerEventController.java:124)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>         at
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>         at
> org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>         at
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>         at
> org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>         at
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>         at
> org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>         at
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>         at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
>         at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
>         at
> org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95)
>         at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:222)
>         at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
>         at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
>         at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
>         at
> org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>         at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>         at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>         at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
>         at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
>         at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
>         at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>         at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
>         at
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:236)
>         at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
>         at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>         at
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>         at
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>         at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
>
> Regards,
> Dinabandhu
>
> arquillian_openejb_tomee.zip
> <http://openejb.979440.n4.nabble.com/file/n4665930/arquillian_openejb_tomee.zip>
>
>
>
> --
> View this message in context: http://openejb.979440.n4.nabble.com/Tomee-Embedded-Arquillian-Persistence-not-working-tp4665930.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.