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