Hello,

I fixed my problem by adding the <exclude-unlisted-classes/> parameter in my 
persistent.xml file to desactivate auto detecting.

Thierry

> Hello,
> 
> I'm trying to use OpenJPA 1.1.0 with the Spring JPA support
> within an OSGi environment.
> 
> Here is my Spring configuration:
> 
> <bean id="entityManagerFactory"
> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
> lazy-init="false">
>     <property name="dataSource"
> ref="dataSource"/>
>     <property name="jpaVendorAdapter">
>         <bean
> class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter">
>             <property
> name="databasePlatform"
> value="org.apache.openjpa.jdbc.sql.HSQLDictionary"/> 
>             <property
> name="showSql" value="true"/>
>         </bean>
>     </property>
>     <property name="loadTimeWeaver">
>         <bean
> class="org.eclipse.equinox.weaving.springweaver.EquinoxAspectsLoadTimeWeaver"/>
>     </property>
> </bean>
> 
> I have a strange problem when trying to use the entity
> manager:
> 
> Could not open JPA EntityManager for transaction; nested
> exception is <openjpa-1.1.0-r422266:657916 nonfatal
> general error>
> org.apache.openjpa.persistence.PersistenceException: Error
> extracting class information from "bundleresource://2/".
> 
> It seems that OpenJPA tries to autodetect metadata for JPA
> entities whereas I explicitly specify them in the
> persistent.xml file:
> 
> <persistence xmlns="http://java.sun.com/xml/ns/persistence";
> version="1.0">
>     <persistence-unit name="myUnit"
> transaction-type="RESOURCE_LOCAL">
>        
> <class>test.service.jpa.model.Author</class>
>        
> <class>test.service.jpa.model.Book</class>
>     </persistence-unit>
> </persistence>
> 
> If it's the case, is it possible to desactivate this
> mechanism?
> Thanks very much for your help!
> Thierry
> 
> -----------------
> 
> More details on exceptions:
> 
> Caused by: <openjpa-1.1.0-r422266:657916 nonfatal
> general error>
> org.apache.openjpa.persistence.PersistenceException: Error
> extracting class information from "bundleresource://2/".
>     at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:196)
>     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:392)
>     at
> org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:320)
>     ... 38 more
> Caused by:
> org.apache.commons.lang.exception.NestableRuntimeException:
> Error extracting class information from
> "bundleresource://2/".
>     at
> org.apache.openjpa.lib.meta.ClassArgParser.parseTypeNames(ClassArgParser.java:246)
>     at
> org.apache.openjpa.meta.AbstractCFMetaDataFactory.parsePersistentTypeNames(AbstractCFMetaDataFactory.java:715)
>     at
> org.apache.openjpa.meta.AbstractCFMetaDataFactory.getPersistentTypeNames(AbstractCFMetaDataFactory.java:606)
>     at
> org.apache.openjpa.meta.MetaDataRepository.getPersistentTypeNames(MetaDataRepository.java:1253)
>     at
> org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1270)
>     at
> org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:276)
>     at
> org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:228)
>     at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:190)
>     ... 44 more
> 
> 
> Caused by: java.io.FileNotFoundException:
> [...]/test.service.jpa.openjpa/bin/ (Is a directory)
>     at java.io.FileInputStream.open(Native
> Method)
>     at
> java.io.FileInputStream.<init>(FileInputStream.java:106)
>     at
> org.eclipse.osgi.framework.util.SecureAction.getFileInputStream(SecureAction.java:124)
>     at
> org.eclipse.osgi.baseadaptor.bundlefile.FileBundleEntry.getInputStream(FileBundleEntry.java:50)
>     at
> org.eclipse.osgi.framework.internal.core.BundleURLConnection.connect(BundleURLConnection.java:53)
>     at
> org.eclipse.osgi.framework.internal.core.BundleURLConnection.getInputStream(BundleURLConnection.java:99)
>     at
> java.net.URL.openStream(URL.java:1009)
>     at
> org.apache.openjpa.lib.util.J2DoPrivHelper$39.run(J2DoPrivHelper.java:825)
>     at
> java.security.AccessController.doPrivileged(Native Method)
>     at
> org.apache.openjpa.lib.meta.URLMetaDataIterator.getInputStream(URLMetaDataIterator.java:67)
>     at
> org.apache.openjpa.lib.meta.ClassArgParser.parseTypeNames(ClassArgParser.java:243)
>     ... 51 more
> 
> 
> 
> 
> 



Reply via email to