Bug 294245 - criteriaapi server test can't be run in websphere 7005 and JBoss 5.1 GA
Summary: criteriaapi server test can't be run in websphere 7005 and JBoss 5.1 GA
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Nobody - feel free to take it CLA
QA Contact:
URL: http://dev.eclipse.org/mhonarc/lists/...
Whiteboard: websphere, jboss
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-04 14:28 EST by Feng Yu CLA
Modified: 2022-06-09 10:20 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Feng Yu CLA 2009-11-04 14:28:47 EST
In order to run jpa 2.0 feature tests (including criteriaapi) in websphere, I did replace the $WAS_HOME/plugins/javax.j2ee.persistence.jar with the javax.persistence_2.0_preview.jar. But I got:

[junit] Running org.eclipse.persistence.testing.tests.jpa.criteria.CriteriaServerTestSuite
    [junit] Exception Description: Error committing externally managed transaction
    [junit] Internal Exception: javax.transaction.RollbackException)
    [junit]     >> SERVER (id=4773e3aa, host=fyu-pc.ca.oracle.com) TRACE START:
    [junit]     >>    javax.ejb.EJBTransactionRolledbackException
    [junit]     >>       at com.ibm.ejs.csi.BeanManaged.postInvoke(BeanManaged.java:329)
    [junit]     >>       at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:561)
    [junit]     >>       at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:4558)
    [junit]     >>       at org.eclipse.persistence.testing.framework.server.EJSRemote0SLTestRunner_ed643271.runTest(EJS
Remote0SLTestRunner_ed643271.java)
    [junit]     >>       at org.eclipse.persistence.testing.framework.server._EJSRemote0SLTestRunner_ed643271_Tie.runTes
t(_EJSRemote0SLTestRunner_ed643271_Tie.java)
    [junit]     >>       at org.eclipse.persistence.testing.framework.server._EJSRemote0SLTestRunner_ed643271_Tie._invok
e(_EJSRemote0SLTestRunner_ed643271_Tie.java)
    [junit]     >>       at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:622)
    [junit]     >>       at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:475)
    [junit]     >>       at com.ibm.rmi.iiop.ORB.process(ORB.java:504)
    [junit]     >>       at com.ibm.CORBA.iiop.ORB.process(ORB.java:1571)
    [junit]     >>       at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2771)
    [junit]     >>       at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2640)
    [junit]     >>       at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
    [junit]     >>       at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)
    [junit]     >>       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
    [junit]     >> SERVER (id=4773e3aa, host=fyu-pc.ca.oracle.com) TRACE END.
    [junit] )

In the junit result, it has:

java.lang.AbstractMethodError: javax/persistence/EntityManager.getCriteriaBuilder()Ljavax/persistence/criteria/CriteriaBuilder;
    at org.eclipse.persistence.testing.tests.jpa.criteria.AdvancedCompositePKJunitTest.testAnyAndAll(AdvancedCompositePKJunitTest.java:78)

The eclipselink.jar was setup as the shared library and it was associated with the application during deployment. 

I also tried different "classloader policy": single and multiple. For the single classloader policy I tried two class loading mode: "Classes loaded with local class loader first (parent last)" and "Classes loaded with parent class loader first" None of them helps.

Kevin verified the same problem with other jpa 2.0 feature tests in WAS 7.0.0.5. It works for jpa 1.0 features. I'm using trunk with revision: 5720
Comment 1 Feng Yu CLA 2009-11-06 09:26:38 EST
The same problem happens for JBoss 5.1 GA. 

java.lang.AbstractMethodError: org.jboss.jpa.tx.TransactionScopedEntityManager.getCriteriaBuilder()Ljavax/persistence/criteria/CriteriaBuilder;
	at org.eclipse.persistence.testing.tests.jpa.criteria.AdvancedCompositePKJunitTest.testMappedByIdExample1(AdvancedCompositePKJunitTest.java:221)
	at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBareServer(JUnitTestCase.java:460)
	at org.eclipse.persistence.testing.framework.server.TestRunnerBean.runTest(TestRunnerBean.java:87)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
	at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
	at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
	at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
	at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
	at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_29140102.invoke(InvocationContextInterceptor_z_fillMethod_29140102.java)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
	at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_29140102.invoke(InvocationContextInterceptor_z_setup_29140102.java)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.tx.StatelessBMTInterceptor.handleInvocation(StatelessBMTInterceptor.java:106)
	at org.jboss.ejb3.tx.BMTInterceptor.invoke(BMTInterceptor.java:55)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:421)
	at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)
	at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
	at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)
	at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:744)
	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:697)
	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:524)
	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)

I did replace the ejb3-persistence.jar under $JBOSS_HOME\common\lib and $JBOSS_HOME\client with the javax.persistence_2.0_preview.jar.
Comment 2 Michael OBrien CLA 2010-02-10 16:43:23 EST
>See JPA 1.0 OK and JPA 2.0 spec function failure on JBoss 5.1.0 investigation and results in bug 302449

>Retest on JBoss 6.0.0M1
http://in.relation.to/Bloggers/IntroducingJBossAS600M1
Comment 3 Michael OBrien CLA 2010-02-12 09:54:05 EST
>Update: JBoss 6.0.1M1 runs JPA 2.0 API (Criteria/Metamodel) in EclipseLink 2.0 OK
See investigation using an EAR containing stateless session bean with injected persistence unit - injected on a servlet client.

>Results: on JBoss 6.0.0 M1 - JPA 2.0 XSD ok, JPA 2.0 API ok
>Pending: 
1) verify that shared-cache-mode>NONE</shared-cache-mode> - actually works and does not just pass validation or relaxed validation - thanks Peter
2) dynamic weaving (instrumentation) - (need to disable the tempClassLoader workaround in the platform) - see bug 252965

See continuing discussion on the EclipseLink users newsgroup post bug 302449
http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg04116.html
Comment 4 Eclipse Webmaster CLA 2022-06-09 10:20:25 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink