| Re: [eclipselink-users] EclipseLink 2.3.3-M1/2.4.0-RC1 & WebSphere 7.0.0.23 |
Hi Tom, That looks like it will correct the problem for 2.4.0-RC1. Does this mean that the new JPQL parser has some bugs? I was looking for a change list for between 2.3.x and 2.4 but was unable to find it myself - is there one? I'm just cautious of patching two components in our software stack; if anything goes wrong it may cloud any problem solving. If we can get 2.3.3 working too then that gives us more options - do you have any ideas that might help for that version? Many Thanks Nathan -----Original Message----- Lets see if we can get the 2.4 version running first. We changed to a new JPQL parser. Try reverting to the old parser using persistence unit property: eclipselink.jpql.parser=org.eclipse.persistence.queries.ANTLRQueryBuilder -Tom On 07/06/2012 11:49 AM, Nathan Drew wrote: > Hi, > > I was testing upgrading WebSphere from 7.0.0.17 to 7.0.0.23 and was > forced into trying EclipseLink 2.4.0-RC1, we were on 2.3.3-M1. We do > need to patch to this level as it contains some official fixes for PMRs that we had open before. > > The original error was that 2.3.3-M1 didn't like the Transaction Manager: > > [6/7/12 12:05:32:626 UTC] 0000002a SystemOut O [EL Severe]: 2012-06-07 > 12:05:32.624--ServerSession(1169376691)--Local Exception Stack: > > Exception [EclipseLink-23004] (Eclipse Persistence Services - > 2.3.3.v20120111-r10668): > org.eclipse.persistence.exceptions.TransactionException > > Exception Description: Error obtaining the Transaction Manager > > Internal Exception: java.lang.ClassCastException: > com.ibm.ws.tx.jta.TranManagerSet incompatible with > javax.transaction.TransactionManager > > at > org.eclipse.persistence.exceptions.TransactionException.errorObtaining > TransactionManager(TransactionException.java:125) > > at > org.eclipse.persistence.transaction.JTATransactionController.<init>(JT > ATransactionController.java:69) > > at > org.eclipse.persistence.transaction.was.WebSphereTransactionController > .<init>(WebSphereTransactionController.java:43) > > at java.lang.J9VMInternals.newInstanceImpl(Native Method) > > at java.lang.Class.newInstance(Class.java:1345) > > at > org.eclipse.persistence.internal.security.PrivilegedAccessHelper.newIn > stanceFromClass(PrivilegedAccessHelper.java:410) > > at > org.eclipse.persistence.platform.server.ServerPlatformBase.initializeE > xternalTransactionController(ServerPlatformBase.java:284) > > at > org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.preConne > ctDatasource(DatabaseSessionImpl.java:659) > > at > org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAnd > DetectDatasource(DatabaseSessionImpl.java:581) > > at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.logi > n(EntityManagerFactoryProvider.java:206) > > at > org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(Ent > ityManagerSetupImpl.java:488) > > at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getD > atabaseSession(EntityManagerFactoryDelegate.java:188) > > at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.crea > teEntityManagerImpl(EntityManagerFactoryDelegate.java:277) > > at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEn > tityManagerImpl(EntityManagerFactoryImpl.java:294) > > at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEn > tityManager(EntityManagerFactoryImpl.java:279) > > at > com.ibm.ws.jpa.management.JPAEMPool.getEntityManager(JPAEMPool.java:14 > 0) > > at > com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATx > EntityManager.java:248) > > at > com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATx > EntityManager.java:173) > > at > com.ibm.ws.jpa.management.JPAEntityManager.createNamedQuery(JPAEntityM > anager.java:332) > > at > biz.wss.server.services.local.system.ApplicationStateDAOEJB.getApplica > tionGlobalStateFromDb(ApplicationStateDAOEJB.java:175) > > at > biz.wss.server.services.local.system.ApplicationStateDAOEJB.applicatio > nStateFlaggedAsUpInDb(ApplicationStateDAOEJB.java:219) > > … > > So I tried 2.4.0-RC1 and it fails our unit tests and also fails on the > server, but seems to be fine with the Transaction Manager… > > [EL Severe]: ejb: 2012-06-07 > 15:27:26.382--ServerSession(940667589)--Exception > [EclipseLink-0] (Eclipse Persistence Services - 2.4.0.v20120604-r11619): > org.eclipse.persistence.exceptions.JPQLException > > [testng] Exception Description: Syntax error parsing [SELECT r FROM > RuleCondition r WHERE r.ruleType = :ruleType AND r.operator = > :operator AND (SELECT Count(rcc) FROM r.components rcc ) = > :componentCount AND (SELECT > Count(rc2) FROM r.components rc2 WHERE rc2.componentId IN > :componentIds) = :componentCount]. > > [testng] [154, 252] The right _expression_ is missing from the logical _expression_. > > [testng] 2012-06-07 15:27:26,422 WARN > org.springframework.test.context.TestContextManager [main] > (TestContextManager.java:361) - Caught exception while allowing > TestExecutionListener > [org.springframework.test.context.transaction.TransactionalTestExecuti > onListener@47bb2cb] to process 'before' execution of test method > [public void > biz.wss.server.services.NamedQueryExeTest.checkNamedQueryNames() > throws java.lang.Exception] for test instance > [biz.wss.server.services.NamedQueryExeTest@ee51b2c] > > [testng] > org.springframework.transaction.CannotCreateTransactionException: > Could not open JPA EntityManager for transaction; nested exception is > javax.persistence.PersistenceException: Exception [EclipseLink-28019] > (Eclipse Persistence Services - 2.4.0.v20120604-r11619): > org.eclipse.persistence.exceptions.EntityManagerSetupException > > [testng] Exception Description: Deployment of PersistenceUnit [WSSJPA] failed. > Close all factories for this PersistenceUnit. > > [testng] Internal Exception: Exception [EclipseLink-0] (Eclipse > Persistence Services - 2.4.0.v20120604-r11619): > org.eclipse.persistence.exceptions.JPQLException > > *[testng] Exception Description: Syntax error parsing [SELECT r FROM > RuleCondition r WHERE r.ruleType = :ruleType AND r.operator = > :operator AND (SELECT Count(rcc) FROM r.components rcc ) = > :componentCount AND (SELECT > Count(rc2) FROM r.components rc2 WHERE rc2.componentId IN > :componentIds) = > :componentCount].* > > *[testng] [154, 252] The right _expression_ is missing from the logical > _expression_.* > > [testng] at > org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransacti > onManager.java:382) > ~[org.springframework.orm_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at > org.springframework.transaction.support.AbstractPlatformTransactionMan > ager.getTransaction(AbstractPlatformTransactionManager.java:371) > ~[org.springframework.transaction_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at > org.springframework.test.context.transaction.TransactionalTestExecutio > nListener$TransactionContext.startTransaction(TransactionalTestExecuti > onListener.java:507) > ~[org.springframework.test_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at > org.springframework.test.context.transaction.TransactionalTestExecutio > nListener.startNewTransaction(TransactionalTestExecutionListener.java: > 269) ~[org.springframework.test_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at > org.springframework.test.context.transaction.TransactionalTestExecutio > nListener.beforeTestMethod(TransactionalTestExecutionListener.java:162 > ) ~[org.springframework.test_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at > org.springframework.test.context.TestContextManager.beforeTestMethod(T > estContextManager.java:358) > ~[org.springframework.test_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at > org.springframework.test.context.testng.AbstractTestNGSpringContextTes > ts.springTestContextBeforeTestMethod(AbstractTestNGSpringContextTests. > java:146) [org.springframework.test_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) ~[na:1.6.0_31] > > [testng] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > ava:39) > ~[na:1.6.0_31] > > [testng] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > orImpl.java:25) > ~[na:1.6.0_31] > > [testng] at java.lang.reflect.Method.invoke(Method.java:597) > ~[na:1.6.0_31] > > [testng] at > org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocati > onHelper.java:74) [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525 > ) [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:613) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.internal.Invoker.invokeTestMethod(Invoker.java:846) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1170) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorke > r.java:125) [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestRunner.runWorkers(TestRunner.java:1125) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestRunner.privateRun(TestRunner.java:749) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestRunner.run(TestRunner.java:600) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:317) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.SuiteRunner.run(SuiteRunner.java:223) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at > org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestNG.runSuitesSequentially(TestNG.java:995) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:920) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestNG.run(TestNG.java:856) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestNG.privateMain(TestNG.java:1137) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] at org.testng.TestNG.main(TestNG.java:1101) > [testng-5.14.6.jar:5.14.6-201012231135] > > [testng] Caused by: javax.persistence.PersistenceException: Exception > [EclipseLink-28019] (Eclipse Persistence Services - 2.4.0.v20120604-r11619): > org.eclipse.persistence.exceptions.EntityManagerSetupException > > [testng] Exception Description: Deployment of PersistenceUnit [WSSJPA] failed. > Close all factories for this PersistenceUnit. > > [testng] Internal Exception: Exception [EclipseLink-0] (Eclipse > Persistence Services - 2.4.0.v20120604-r11619): > org.eclipse.persistence.exceptions.JPQLException > > [testng] Exception Description: Syntax error parsing [SELECT r FROM > RuleCondition r WHERE r.ruleType = :ruleType AND r.operator = > :operator AND (SELECT Count(rcc) FROM r.components rcc ) = > :componentCount AND (SELECT > Count(rc2) FROM r.components rc2 WHERE rc2.componentId IN > :componentIds) = :componentCount]. > > [testng] [154, 252] The right _expression_ is missing from the logical _expression_. > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.createDepl > oyFailedPersistenceException(EntityManagerSetupImpl.java:616) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(Ent > ityManagerSetupImpl.java:596) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getD > atabaseSession(EntityManagerFactoryDelegate.java:186) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.crea > teEntityManagerImpl(EntityManagerFactoryDelegate.java:278) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEn > tityManagerImpl(EntityManagerFactoryImpl.java:304) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEn > tityManager(EntityManagerFactoryImpl.java:282) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.springframework.orm.jpa.JpaTransactionManager.createEntityManagerF > orTransaction(JpaTransactionManager.java:400) > ~[org.springframework.orm_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] at > org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransacti > onManager.java:321) > ~[org.springframework.orm_3.0.5.RELEASE.jar:3.0.5.RELEASE] > > [testng] ... 32 common frames omitted > > [testng] Caused by: org.eclipse.persistence.exceptions.EntityManagerSetupException: > > [testng] *Exception Description: Deployment of PersistenceUnit [WSSJPA] failed. > Close all factories for this PersistenceUnit.* > > [testng] Internal Exception: Exception [EclipseLink-0] (Eclipse > Persistence Services - 2.4.0.v20120604-r11619): > org.eclipse.persistence.exceptions.JPQLException > > [testng] Exception Description: Syntax error parsing [SELECT r FROM > RuleCondition r WHERE r.ruleType = :ruleType AND r.operator = > :operator AND (SELECT Count(rcc) FROM r.components rcc ) = > :componentCount AND (SELECT > Count(rc2) FROM r.components rc2 WHERE rc2.componentId IN > :componentIds) = :componentCount]. > > [testng] [154, 252] The right _expression_ is missing from the logical _expression_. > > [testng] at > org.eclipse.persistence.exceptions.EntityManagerSetupException.deployF > ailed(EntityManagerSetupException.java:229) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] ... 40 common frames omitted > > [testng] Caused by: org.eclipse.persistence.exceptions.JPQLException: > > [testng] Exception Description: Syntax error parsing [SELECT r FROM > RuleCondition r WHERE r.ruleType = :ruleType AND r.operator = > :operator AND (SELECT Count(rcc) FROM r.components rcc ) = > :componentCount AND (SELECT > Count(rc2) FROM r.components rc2 WHERE rc2.componentId IN > :componentIds) = :componentCount]. > > [testng] [154, 252] The right _expression_ is missing from the logical _expression_. > > [testng] at > org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException( > HermesParser.java:150) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(Hermes > Parser.java:325) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryIm > p(HermesParser.java:270) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(Herm > esParser.java:157) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQu > ery(EJBQueryImpl.java:138) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.JPAQuery.processJPQLQuery(JPAQuer > y.java:108) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.JPAQuery.prepare(JPAQuery.java:92 > ) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQue > ry.java:614) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQue > ry.java:575) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.sessions.AbstractSession.processJPAQu > eries(AbstractSession.java:2244) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initiali > zeDescriptors(DatabaseSessionImpl.java:540) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConn > ectDatasource(DatabaseSessionImpl.java:777) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.login(Da > tabaseSessionImpl.java:735) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.logi > n(EntityManagerFactoryProvider.java:215) > ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] at > org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(Ent > ityManagerSetupImpl.java:542) ~[Bedrock.libs.jpa.eclipselink.jar:na] > > [testng] ... 38 common frames omitted > > [testng] > org.springframework.transaction.CannotCreateTransactionException: > Could not open JPA EntityManager for transaction; nested exception is > javax.persistence.PersistenceException: Exception [EclipseLink-28019] > (Eclipse Persistence Services - 2.4.0.v20120604-r11619): > org.eclipse.persistence.exceptions.EntityManagerSetupException > > Any ideas? > > Kind Regards > > Nathan > > > > _______________________________________________ > eclipselink-users mailing list > eclipselink-users@xxxxxxxxxxx > https://dev.eclipse.org/mailman/listinfo/eclipselink-users _______________________________________________ eclipselink-users mailing list https://dev.eclipse.org/mailman/listinfo/eclipselink-users |