2011-10-21 9 views
0

persistence.xmlに<non-jta-data-source> </non-jta-data-source>を定義するにはどうすればよいですか?persistence.xmlで<non-jta-data-source></ non-jta-data-source>をどのように定義できますか?

私は

  • JBossの6
  • JPA 2

    1. のStruts 2
    2. 春3.0.5
    3. を使用しています今7

      私のプロジェクトは、Tomcat 6とTomcatでうまく動作します

    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]。[ローカルホスト]。[/ ICC-WEB- struts2-1.0.0-SNAPSHOT]] org.springframework.web.context.ContextLoaderListenerクラスのリスナーインスタンスにコンテキスト初期化イベントを送信している例外が発生しました:org.springframework.beans.factory.BeanCreationException:名前が 'org.springframework.dao .annotation.PersistenceExceptionTranslationPostProcessor#0 'はURLで定義されています[vfs:/ D:/workspace/icc-temp/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_6.x_Runtime_Server131926 8021951/deploy/icc-web-struts2.war/WEB-INF/lib/icc-core.jar/core-config.xml]:Beanの初期化に失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:URLで定義された 'entityManagerFactory'という名前のBeanを作成中にエラーが発生しました[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_Server1319268021951/deploy/ icc-web-struts2.war/WEB-INF/lib/icc-domain.jar/

    +0

    これはJPAの中核となる問題です。使用している他の技術はすべて無関係です。 –

    答えて

    2

    非jta-data-sourceは、既存のJTAマネージャを使用しないデータソースを定義するために使用されます。この機能に正確に関心がある場合は、非JTAデータソースのJNDIの場所(つまりjava:app/jdbc/yourNonJTAsource)を受け入れるよりも、

    データソースはアプリケーションサーバーで構成する必要があります。この構成はベンダー固有のものです。 JBoss Web管理コンソールにアクセスし、そこにプール/データソースを作成/定義してみてください。その場合、これらの情報がApplication Serverに移されるため、persistence.xmlからこれらのユーザー/パスワード/ url/...のものを取り除くことができます。

    このpersistence.xmlをコンテナの外に完全に使用している場合は、コンテナの外にあるJNDIに依存できないため、おそらく非jtaまたはjtaデータソースは必要ありません。

    HTH。

    +0

    今この例外が発生しています – Manodip

    +0

    例外を添付するのを忘れましたか?元の質問を変更して現状を更新したい場合があります。 –

    関連する問題