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