Hi Vikram,
The new test case that you added in this transaction failed on all
application servers (WLS/WAS/JBoss/GlassFish/etc.) because of the
nested transaction in line 335 of the class org.eclipse.persistence.testing.tests.jpa.advanced.AdvancedJunitTest.testElementCollectionClear ,
the following are the stack trace during running on WLS:
java.lang.RuntimeException:
javax.transaction.NotSupportedException: Another transaction is
associated with this thread. Existing transaction
Xid=BEA1-020055BA08C97F28EDB9(1334997426),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=0,seconds left=30,activeThread=Thread[[ACTIVE]
ExecuteThread: '3' for queue: 'weblogic.kernel.Default
(self-tuning)',5,Pooled
Threads],XAServerResourceInfo[EclipseLinkDS_mydomain]=(ServerResourceInfo[EclipseLinkDS_mydomain]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSEmulateXAResourceImpl@176685ee,re-Registered
=
false),SCInfo[mydomain+myserver]=(state=active),properties=({weblogic.jdbc.remote.EclipseLinkDS=t3://10.156.51.38:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+10.156.51.38:7001+mydomain+t3+,
XAResources={EclipseLinkDS_mydomain,
WSATGatewayRM_myserver_mydomain},NonXAResources={})],CoordinatorURL=myserver+10.156.51.38:7001+mydomain+t3+)
at
org.eclipse.persistence.testing.framework.server.JEEPlatform.beginTransaction(JEEPlatform.java:75)
at
org.eclipse.persistence.testing.framework.junit.JUnitTestCase.beginTransaction(JUnitTestCase.java:308)
at
org.eclipse.persistence.testing.tests.jpa.advanced.AdvancedJunitTest.testElementCollectionClear(AdvancedJunitTest.java:335)
at
org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBareServer(JUnitTestCase.java:582)
at
org.eclipse.persistence.testing.framework.server.TestRunnerBean.runTest(TestRunnerBean.java:87)
at
org.eclipse.persistence.testing.framework.server.TestRunner_q0mh0s_TestRunnerImpl.__WL_invoke(Unknown
Source)
at
weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
at
org.eclipse.persistence.testing.framework.server.TestRunner_q0mh0s_TestRunnerImpl.runTest(Unknown
Source)
at
org.eclipse.persistence.testing.framework.server.TestRunner_q0mh0s_TestRunnerImpl_WLSkel.invoke(Unknown
Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
at
weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
at
weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Could you take a look at it? Please let me know if you need
more info.
Thanks,
Kevin
On 25/04/2011 3:51 PM, Vikram Bhatia wrote:
Bug 342922 -
Unwanted insert statement generated when using
ElementCollection with lazy
loading.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=342922
Added a flag
to CollectionChangeEvent to identify if the change has
already been applied to
the collection before raising collection change event ADD
or REMOVE. The flag
will be passed as true from IndirectList, IndirectSet and
IndirectMap whereas
false from DirectCollectionMapping while merging the
object.
Changed
ContainerPolicy and its subclasses to pass the flag in
createChangeEvent
method.
Added test
case to AdvancedJunitTest.
Reviewed:
Gordon Yorke
Testing: LRG & JPA LRG on Oracle and MySQL
Checked
into trunk (2.3) r9259
Thanks
Vikram
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
|