Как я могу определитьв persistence.xml? - PullRequest
0 голосов
/ 21 октября 2011

Как я могу определить <non-jta-data-source> </non-jta-data-source> в файле persistence.xml?

Мой проект хорошо работает в Tomcat 6 и Tomcat 7.

сейчас я использую

  1. Распорки 2
  2. Пружина 3.0.5
  3. JPA 2
  4. Jboss 6

my persistence.xml выглядит так

       <?xml version="1.0" encoding="UTF-8"?>
    <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="axw-db" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    **<non-jta-data-source></non-jta-data-source>**
    <properties>
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
    <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
    <property name="hibernate.connection.username" value="root"/>
    <property name="hibernate.connection.password" value="root"/>
    <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/abc"/>
    <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    <property name="hibernate.ejb.autodetection" value="class"/>
    </properties>
    </persistence-unit>
    </persistence>

теперь я получаю это исключение

[org.apache.catalina.core.ContainerBase. [Jboss.web]. [Localhost]. [/ Icc-web-struts2-1.0.0-SNAPSHOT]] Исключение, отправляющее событие, инициализированное контекстом, экземпляру прослушивателя класса org .springframework.web.context.ContextLoaderListener: org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor # 0', определенного в URL-адресе: / / vf: -temp / .metadata / .plugins / org.jboss.ide.eclipse.as.core / JBoss_6.x_Runtime_Server1319268021951 / развернуть / ICC-веб-struts2.war / WEB-INF / Lib / ICC-core.jar / ядро-конфигурации .xml]: инициализация компонента не удалась; вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем entityManagerFactory, определенным в URL [vfs: / D: /workspace/icc-temp/.metadata/.plugins/org.jboss.ide.eclipse .as.core / JBoss_6.x_Runtime_Server1319268021951 / deploy / icc-web-struts2.war / WEB-INF / lib / icc-core.jar / core-config.xml]: сбой вызова метода init; вложенным исключением является java.lang.RuntimeException: ошибка при попытке сканирования: vfs: / D: /workspace/icc-temp/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_6.x_Runtime_Server131926802195//ploy ICC-веб-struts2.war / WEB-INF / Библиотека / ICC-domain.jar /

1 Ответ

2 голосов
/ 21 октября 2011

Не-jta-data-source используется для определения источника данных, который не использует существующий JTA-менеджер.Если вас интересует именно эта функция, то она принимает JNDI-расположение источника данных не-JTA (т. Е. java: app / jdbc / yourNonJTAsource ).

Источник данных должен бытьнастроен на вашем сервере приложений, и эта конфигурация зависит от поставщика.Попробуйте получить доступ к консоли веб-администратора JBoss и создать / определить источник пула / данных там.Если это так, то вы можете избавиться от этих вещей user / password / url / ... из вашего файла persistence.xml, поскольку эта информация будет перемещена на сервер приложений.

Если вы используете этоЕсли файл persistence.xml находится за пределами контейнера, вам, вероятно, не нужны ни источники данных jta, ни jta, поскольку вы не можете полагаться на JNDI вне контейнера.

HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...