2011-01-31 6 views
3

У меня возникла проблема с EclipseLink. Я использую GlassFish v3.1, и я пытаюсь использовать EclipseLink для моего уровня сохранения. Я без всяких успехов следил за всеми учебниками, доступными на вики Eclipse. Мой файл persistence.xml не может быть разобрано, и я получаю эту ошибку при попытке создать EntityManagerFactory:EclipseLink в OSGI Bundle persistence.xml не найден

org.eclipse.persistence.exceptions.PersistenceUnitLoadingException Исключение Описание: Ошибка при обработке persistence.xml из URL : расслоение: //307.1: 1/

Вот мой persistence.xml находится в/WEB-INF/классы/META-INF /:

<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> 
    <persistence-unit name="generic"> 
     <class>com.generic.domain.Service</class> 

     <properties> 
      <!-- Embedded MySQL Login --> 
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306"/> 

      <!-- TODO: replace with connection pool --> 
      <property name="javax.persistence.jdbc.userid" value="root"/> 
      <property name="javax.persistence.jdbc.password" value=""/> 

      <property name="eclipselink.target-database" value="MySQL"/> 
      <property name="eclipselink.jdbc.read-connections.min" value="1"/> 
      <property name="eclipselink.jdbc.write-connections.min" value="1"/> 
      <property name="eclipselink.jdbc.batch-writing" value="JDBC"/> 

      <!-- Logging Settings --> 
      <property name="eclipselink.logging.level" value="FINE" /> 
      <property name="eclipselink.logging.thread" value="false" /> 
      <property name="eclipselink.logging.session" value="false" /> 
      <property name="eclipselink.logging.exceptions" value="true" /> 
      <property name="eclipselink.logging.timestamp" value="false"/>    
     </properties> 
    </persistence-unit> 
</persistence> 

Я добавил эту линию к моему МАНИФЕСТУ. MF:

JPA-PersistenceUnits: generic 

ответ

0

1) Похоже, вы пытаетесь использовать OSGi/JPA со своего WAB. Верный? 2) Можете ли вы сказать, установили ли вы какие-либо новые комплекты eclipselink в вашей системе? Если так, то кто они? 3) Можете ли вы предоставить трассировку стека?

+0

1) верно 2) Я использую связку EclipseLink, которые доступны в GlassFish v3.1 3) Стек след: http://dinoz.mobi/stack.txt – MobileSam

+0

1. Можете ли вы сказать, структуру ваш WAB? 2. Можете ли вы рассказать Bundle-ClassPath WAB? – Sahoo

+0

- META-INF/MANIFEST.MF - WEB-INF/web.xml - WEB-INF/классы/ком/... - WEB-INF/классы/META-INF/persistence.xml - ЦСИ/main/test/java Bundle-ClassPath: WEB-INF/classes Я могу найти persistence.xml в разделе WEB-INF/classes/META-INF/в WAB. Спасибо за вашу помощь. – MobileSam

1

Теперь я могу подтвердить, что это ошибка в EclipseLink. Работа над вашей проблемой заключается в том, чтобы либо получить EntityManagerFactory с помощью поиска JNDI, либо @PersistenceUnit вместо выполнения Persistence.createEntityManagerFactory().

+0

Спасибо за отзыв, у меня все еще есть проблема, когда я использую @PersistenceUnit, что EntityManager не вводится в мой сервлет, когда мне это нужно, но только один раз, прежде чем что-либо может ухватиться за него. Я использую использование служб RESTFul в Джерси. Спасибо за вашу помощь. – MobileSam

Смежные вопросы