No, its not really a very urgent issue. :) Just wanted to try out the latest trunk and see if some minor issues I've workaround got fixed, so I can deploy a new stable version in our repo. Looking at the code, I was just as surprised that it didn't fail previously.
Would you mind if I just create and assign a jira to you? It would help in the tracking. Thanks for the help! Patrick Linskey-2 wrote: > > Interesting. Thing is, there is no no-args constructor. > > It looks like this isn't just a small anomaly, but rather a codepath > that wasn't exercised in prior versions. I'll look into creating a > test case that replicates the problem so it doesn't regress. Is this > particularly urgent for any reason? > > -Patrick > > On Mon, Mar 3, 2008 at 7:33 PM, Adrian Co <[EMAIL PROTECTED]> wrote: >> >> Unfortunately, the issue still exists. I've attached an updated stack >> trace >> in [1]. I'll try to look at the diff if anything jumps out. :) >> >> Thanks for the quick reply! >> >> [1] >> com.exist.eot.user.service.impl.GroupServiceImplTest Time elapsed: >> 1.141 >> >> >> sec <<< ERROR! >> org.unitils.core.UnitilsException: Unable to start transaction. Could >> not >> retrieve PlatformTransactionManager from the Spring application context. >> Make sure either to configure one, or use another Unitils transaction >> manager. (e.g. SimpleTransactionManager, by setting the property >> 'transactionManager.type' to 'simple') >> at >> >> org.unitils.database.transaction.impl.SpringTransactionManager.startTransaction(SpringTransactionManager.java:86) >> at >> >> org.unitils.database.DatabaseModule.startTransaction(DatabaseModule.java:286) >> at >> >> org.unitils.database.DatabaseModule$DatabaseTestListener.beforeTestSetUp(DatabaseModule.java:386) >> at >> >> org.unitils.core.Unitils$UnitilsTestListener.beforeTestSetUp(Unitils.java:228) >> at >> >> org.unitils.UnitilsJUnit4TestClassRunner$CustomTestClassMethodsRunner.createMethodRunner(UnitilsJUnit4TestClassRunner.java:142) >> at >> >> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66) >> at >> >> org.unitils.UnitilsJUnit4TestClassRunner$CustomTestClassMethodsRunner.invokeTestMethod(UnitilsJUnit4TestClassRunner.java:155) >> at >> >> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35) >> at >> >> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) >> at >> >> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) >> at >> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) >> at >> >> org.unitils.UnitilsJUnit4TestClassRunner.run(UnitilsJUnit4TestClassRunner.java:95) >> at >> >> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) >> at >> >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) >> at >> >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) >> at org.apache.maven.surefire.Surefire.run(Surefire.java:177) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:585) >> at >> >> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334) >> at >> >> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980) >> Caused by: >> org.springframework.transaction.CannotCreateTransactionException: >> Could not open JPA EntityManager for transaction; nested exception is >> <openjpa-1.1.0-SNAPSHOT-r420667:633326M fatal general error> >> >> org.apache.openjpa.persistence.PersistenceException: An instance of the >> class "class >> >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl" >> could not be instantiated. Make sure the class has a public no-args >> constructor. >> at >> >> org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:379) >> at >> >> org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377) >> at >> >> org.unitils.database.transaction.impl.SpringTransactionManager.startTransaction(SpringTransactionManager.java:82) >> ... 21 more >> Caused by: <openjpa-1.1.0-SNAPSHOT-r420667:633326M fatal general error> >> >> >> org.apache.openjpa.persistence.PersistenceException: An instance of the >> class "class >> >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl" >> could not be instantiated. Make sure the class has a public no-args >> constructor. >> at >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:333) >> at >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:226) >> at >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:188) >> at >> >> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142) >> at >> >> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192) >> at >> >> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145) >> at >> >> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56) >> at >> >> org.springframework.orm.jpa.JpaTransactionManager.createEntityManagerForTransaction(JpaTransactionManager.java:396) >> at >> >> org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:320) >> ... 23 more >> Caused by: org.apache.commons.lang.exception.NestableRuntimeException: >> An >> instance of the class "class >> >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl" >> could not be instantiated. Make sure the class has a public no-args >> constructor. >> at >> >> org.apache.openjpa.lib.conf.Configurations.newInstance(Configurations.java:227) >> at >> >> org.apache.openjpa.lib.conf.ObjectValue.newInstance(ObjectValue.java:109) >> at >> >> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:102) >> at >> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83) >> at >> >> org.apache.openjpa.conf.OpenJPAConfigurationImpl.getClassResolverInstance(OpenJPAConfigurationImpl.java:566) >> at >> >> org.apache.openjpa.meta.AbstractCFMetaDataFactory.getPersistentTypeNames(AbstractCFMetaDataFactory.java:601) >> at >> >> org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:188) >> at >> >> org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:475) >> at >> >> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:295) >> at >> org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:245) >> at >> org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:216) >> at >> org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:184) >> at >> >> org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:121) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:585) >> at >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) >> ... 31 more >> Caused by: java.lang.InstantiationException: >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl >> at java.lang.Class.newInstance0(Class.java:335) >> at java.lang.Class.newInstance(Class.java:303) >> at >> >> org.apache.openjpa.lib.util.J2DoPrivHelper$11.run(J2DoPrivHelper.java:343) >> at java.security.AccessController.doPrivileged(Native Method) >> at >> >> org.apache.openjpa.lib.conf.Configurations.newInstance(Configurations.java:221) >> ... 48 more >> >> >> >> >> >> Patrick Linskey-2 wrote: >> > >> > Hi, >> > >> > I just checked in a change that might fix this issue with r633326. I >> > didn't do any validation or testing; I just made a private class >> > public. Looks like the issue is a combination of reflection and >> > security controls; hopefully this blind stab in the dark will resolve >> > it. If not, let us know and we'll take a closer look. >> > >> > -Patrick >> > >> > On Mon, Mar 3, 2008 at 2:46 AM, Adrian Co <[EMAIL PROTECTED]> wrote: >> >> >> >> Hi, >> >> >> >> I've updated to the latest OpenJPA version in trunk (rev 633027) and >> >> built >> >> it with test disabled (-Dmaven.test.skip=true) and ran it against my >> >> unit >> >> test cases. It failed with the exception in [1]. Last working >> version I >> >> used >> >> was rev 613030, which is also based on 1.1.0-SNAPSHOT. Is this a bug >> or >> >> did >> >> any configuration change occurred? Let me know if you need any other >> >> details. >> >> >> >> Thanks for any help! :) >> >> >> >> Regards, >> >> Adrian Co >> >> >> >> [1] >> >> com.exist.eot.user.service.impl.GroupServiceImplTest Time elapsed: >> >> 1.109 >> >> sec <<< ERROR! >> >> org.unitils.core.UnitilsException: Unable to start transaction. >> Could >> >> not >> >> retrieve PlatformTransactionManager from the Spring application >> context. >> >> Make sure either to configure one, or use another Unitils >> transaction >> >> manager. (e.g. SimpleTransactionManager, by setting the property >> >> 'transactionManager.type' to 'simple') >> >> at >> >> >> >> >> org.unitils.database.transaction.impl.SpringTransactionManager.startTransaction(SpringTransactionManager.java:86) >> >> at >> >> >> >> >> org.unitils.database.DatabaseModule.startTransaction(DatabaseModule.java:286) >> >> at >> >> >> >> >> org.unitils.database.DatabaseModule$DatabaseTestListener.beforeTestSetUp(DatabaseModule.java:386) >> >> at >> >> >> >> >> org.unitils.core.Unitils$UnitilsTestListener.beforeTestSetUp(Unitils.java:228) >> >> at >> >> >> >> >> org.unitils.UnitilsJUnit4TestClassRunner$CustomTestClassMethodsRunner.createMethodRunner(UnitilsJUnit4TestClassRunner.java:142) >> >> at >> >> >> >> >> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66) >> >> at >> >> >> >> >> org.unitils.UnitilsJUnit4TestClassRunner$CustomTestClassMethodsRunner.invokeTestMethod(UnitilsJUnit4TestClassRunner.java:155) >> >> at >> >> >> >> >> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35) >> >> at >> >> >> >> >> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) >> >> at >> >> >> >> >> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) >> >> at >> >> >> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) >> >> at >> >> >> >> >> org.unitils.UnitilsJUnit4TestClassRunner.run(UnitilsJUnit4TestClassRunner.java:95) >> >> at >> >> >> >> >> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) >> >> at >> >> >> >> >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) >> >> at >> >> >> >> >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) >> >> at org.apache.maven.surefire.Surefire.run(Surefire.java:177) >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >> Method) >> >> at >> >> >> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >> at >> >> >> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >> at java.lang.reflect.Method.invoke(Method.java:585) >> >> at >> >> >> >> >> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334) >> >> at >> >> >> >> >> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980) >> >> Caused by: >> >> org.springframework.transaction.CannotCreateTransactionException: >> >> Could not open JPA EntityManager for transaction; nested exception >> is >> >> <openjpa-1.1.0-SNAPSHOT-r420667:632486M fatal general error> >> >> org.apache.openjpa.persistence.PersistenceException: An instance of >> the >> >> class "class >> >> >> >> >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl" >> >> could not be instantiated. Make sure the class has a public no-args >> >> constructor. >> >> at >> >> >> >> >> org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:379) >> >> at >> >> >> >> >> org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377) >> >> at >> >> >> >> >> org.unitils.database.transaction.impl.SpringTransactionManager.startTransaction(SpringTransactionManager.java:82) >> >> ... 21 more >> >> Caused by: <openjpa-1.1.0-SNAPSHOT-r420667:632486M fatal general >> error> >> >> org.apache.openjpa.persistence.PersistenceException: An instance of >> the >> >> class "class >> >> >> >> >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl" >> >> could not be instantiated. Make sure the class has a public no-args >> >> constructor. >> >> at >> >> >> >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:333) >> >> at >> >> >> >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:226) >> >> at >> >> >> >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:188) >> >> at >> >> >> >> >> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142) >> >> at >> >> >> >> >> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192) >> >> at >> >> >> >> >> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145) >> >> at >> >> >> >> >> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56) >> >> at >> >> >> >> >> org.springframework.orm.jpa.JpaTransactionManager.createEntityManagerForTransaction(JpaTransactionManager.java:396) >> >> at >> >> >> >> >> org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:320) >> >> ... 23 more >> >> Caused by: >> org.apache.commons.lang.exception.NestableRuntimeException: >> >> An >> >> instance of the class "class >> >> >> >> >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl" >> >> could not be instantiated. Make sure the class has a public no-args >> >> constructor. >> >> at >> >> >> >> >> org.apache.openjpa.lib.conf.Configurations.newInstance(Configurations.java:227) >> >> at >> >> >> >> >> org.apache.openjpa.lib.conf.ObjectValue.newInstance(ObjectValue.java:109) >> >> at >> >> >> >> >> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:102) >> >> at >> >> >> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83) >> >> at >> >> >> >> >> org.apache.openjpa.conf.OpenJPAConfigurationImpl.getClassResolverInstance(OpenJPAConfigurationImpl.java:566) >> >> at >> >> >> >> >> org.apache.openjpa.meta.AbstractCFMetaDataFactory.getPersistentTypeNames(AbstractCFMetaDataFactory.java:601) >> >> at >> >> >> >> >> org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:188) >> >> at >> >> >> >> >> org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:475) >> >> at >> >> >> >> >> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:295) >> >> at >> >> org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:245) >> >> at >> >> org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:216) >> >> at >> >> org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:184) >> >> at >> >> >> >> >> org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:121) >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >> Method) >> >> at >> >> >> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >> at >> >> >> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >> at java.lang.reflect.Method.invoke(Method.java:585) >> >> at >> >> >> >> >> org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) >> >> ... 31 more >> >> Caused by: java.lang.InstantiationException: >> >> >> org.apache.openjpa.persistence.PersistenceUnitInfoImpl$ClassResolverImpl >> >> at java.lang.Class.newInstance0(Class.java:335) >> >> at java.lang.Class.newInstance(Class.java:303) >> >> at >> >> >> >> >> org.apache.openjpa.lib.util.J2DoPrivHelper$11.run(J2DoPrivHelper.java:343) >> >> at java.security.AccessController.doPrivileged(Native Method) >> >> at >> >> >> >> >> org.apache.openjpa.lib.conf.Configurations.newInstance(Configurations.java:221) >> >> ... 48 more >> >> -- >> >> View this message in context: >> >> >> http://www.nabble.com/InstantiationException-in-latest-OpenJPA-build-tp15799949p15799949.html >> >> Sent from the OpenJPA Users mailing list archive at Nabble.com. >> >> >> >> >> > >> > >> > >> > -- >> > Patrick Linskey >> > 202 669 5907 >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/InstantiationException-in-latest-OpenJPA-build-tp15799949p15819702.html >> >> >> Sent from the OpenJPA Users mailing list archive at Nabble.com. >> >> > > > > -- > Patrick Linskey > 202 669 5907 > > -- View this message in context: http://www.nabble.com/InstantiationException-in-latest-OpenJPA-build-tp15799949p15821456.html Sent from the OpenJPA Users mailing list archive at Nabble.com.
