Details
-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
None
-
None
-
None
Description
The following package have to be defined by Import-Package in either ISPN core or the client bundle which uses ISPN core (not sure about the client's bundle) so that JBoss TS can be found on classpath:
com.arjuna.ats.arjuna, com.arjuna.ats.arjuna.common, com.arjuna.ats.arjuna.coordinator, com.arjuna.ats.arjuna.exceptions, com.arjuna.ats.arjuna.logging, com.arjuna.ats.arjuna.objectstore, com.arjuna.ats.arjuna.recovery, com.arjuna.ats.arjuna.state, com.arjuna.ats.arjuna.tools, com.arjuna.ats.arjuna.utils, com.arjuna.ats.internal.arjuna, com.arjuna.ats.internal.arjuna.common, com.arjuna.ats.internal.arjuna.coordinator, com.arjuna.ats.internal.arjuna.recovery, com.arjuna.ats.internal.arjuna.thread, com.arjuna.ats.internal.arjuna.tools, com.arjuna.ats.internal.arjuna.utils, com.arjuna.ats.internal.arjuna.objectstore, com.arjuna.common.internal.util.propertyservice,
We should make sure we either provide users with instructions which packages they have to import to make transactions work, or we have to import them automatically. This issues needs to be investigated more. The bad thing is that PAX EXAM did not reveal this issue. Perhaps it uses DynamicImport-Package to import all packages.
This is a stacktrace I got when running tests for DistExec:
testInvokeMapReduceOnSubsetOfKeys(org.infinispan.it.osgi.distexec.mapreduce.DistributedTwoNodesMapReduceTest) Time elapsed: 0.013 sec <<< ERROR! java.lang.NoClassDefFoundError: com/arjuna/common/internal/util/propertyservice/BeanPopulator at org.infinispan.test.fwk.JBossTransactionsUtils.setVolatileStores(JBossTransactionsUtils.java:25) at org.infinispan.test.fwk.TestCacheManagerFactory.markAsTransactional(TestCacheManagerFactory.java:104) at org.infinispan.test.fwk.TestCacheManagerFactory.getDefaultCacheConfiguration(TestCacheManagerFactory.java:288) at org.infinispan.test.AbstractCacheTest.getDefaultClusteredCacheConfig(AbstractCacheTest.java:48) at org.infinispan.test.AbstractCacheTest.getDefaultClusteredCacheConfig(AbstractCacheTest.java:44) at org.infinispan.it.osgi.distexec.mapreduce.BaseWordCountMapReduceTest.setUp(BaseWordCountMapReduceTest.java:48) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:67) at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at org.junit.runner.JUnitCore.run(JUnitCore.java:138) at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:125) at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:98) at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:74) 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.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:80) 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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)