Ошибка Entity Manager на сервере? - PullRequest
0 голосов
/ 18 августа 2011

Привет! Я разработал свое Java-приложение на сервере Glassfish с поддержкой EJB 3.0.На моей локальной машине приложение работало нормально и отлично сохраняло данные.Однако, когда я развернул его на сервере Linux, всякий раз, когда я сохраняю какие-либо данные, он выдает мне эту ошибку исключения EJB:

Caused by: Java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.

А вот мой файл persistence.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
  <persistence version="2.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_2_0.xsd">
    <persistence-unit name="MyPU" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
        <jta-data-source>jdbc/security</jta-data-source> 
        <exclude-unlisted-classes>false</exclude-unlisted-classes> 
        <properties>
            <property name="eclipselink.ddl-generation" value="create-tables" /> 
        </properties>
    </persistence-unit>
  </persistence>

что может быть причиной этого?

PS: я использую Glassfish 3.1.43, EJB 3.0

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Какую базу данных вы используете? Я хотел бы убедиться, что пользователь, которого вы настроили в пуле соединений, имеет право создавать таблицы.

0 голосов
/ 18 августа 2011

Мне удалось наконец решить это !! Проблема была в соединении с базой данных, которое не было установлено должным образом !! Теперь я подключился к базе данных и данные сохраняются !!

...