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

Reply via email to