2011-11-07 15 views
1

JBoss 7.02.Finalに問題があります。私はJBoss5.1GAからプロジェクトを移植しています(EE6をサポートするためのルックアップのかなりの量の書き換えの外で)。クラスパスにEclipselinkを登録する際に問題があります。私は周りを検索し、いくつかの記事がこの問題は修正されていると言われていますが、実際の例を見つけることはできません。JBoss7とEclipselink、EntityManagerの永続性プロバイダなし

私はEE6開発の初心者として何か間違っている可能性が非常に高いです。

耳は以下の

- ProductionEE6 
    ./lib/eclipselink2.*.jar 
    ./lib/javax.persistence.jar 
    . . . 
    ProductionEJB.jar 
    . . . 
    Production.war 

として構築されている私の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 persistence_2_0.xsd"> 
    <persistence-unit name="production" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 

     <non-jta-data-source>java:/ProductionDS</non-jta-data-source> 
     <class><!-- entities --></class> 

     <properties> 
      <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> 
      <property name="eclipselink.target-server" value="JBoss"/> 
      <!-- A few other properties here --> 
     </properties>  
    </persistence-unit> 
</persistence> 

すべてのブートアップ罰金、私はデータソースを参照してください、私は(セキュリティを介して取得しますカスタムのDatabaseModuleを使って私のデータソースが間違いなく)、そして最終的にEJBを呼び出すと、次のエラーが表示されます。

Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named production 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69) [hibernate-jpa-2.0-api-1.0.1.Final.jar:1.0.1.Final] 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) [hibernate-jpa-2.0-api-1.0.1.Final.jar:1.0.1.Final] 
    at com.danielbchapman.production.entity.DelegateInstance.getEm(DelegateInstance.java:67) [ProductionEJB.jar:] 
    at com.danielbchapman.production.entity.EntityInstance.getEm(EntityInstance.java:39) [ProductionEJB.jar:] 
    at com.danielbchapman.production.beans.OptionsDao.<init>(OptionsDao.java:20) [ProductionEJB.jar:] 
    ... 94 more 

私はJTAデータソースを使用していないので、トランザクションを手動で処理しています。この呼び出しは、次のコードで上記の「DelegateInstance」です:(persistenceUnitIdが、この場合は「生産」です。)

/** 
* @return an instance of the entity manager if it isn't there. 
*/ 
public EntityManager getEm() 
{ 
    if(manager == null) 
    { 
     manager = Persistence.createEntityManagerFactory(getPersistenceUnitId()) 
       .createEntityManager(); 
    } 

    return manager; 
} 

一番私を心配することは、スタック上でこれを見ている: [ hibernate-jpa-2.0-api-1.0.1.Final.jar:1.0.1.Final]明らかに私はEclipseLinkを正しくロードしていません。私はここでアイデアを使い果たしているので、誰かが助けてくれればとても感謝しています。 「

: - :http://dev.dzhokanov.com/?p=8によると

答えて

1

のEclipseLink 2.4は現在、7.1.1のJBoss ASで動作します - テストと作業 - HTH

+0

ジョン、ありがとう、私はショットをビルドします。 –

+0

申し訳ありませんが、テストには時間がかかりましたが、はい、Eclipselink 2.4はJBoss 7.1.1でうまく動作しています。 –

0

はスコット・マーロウ(JBoss版7/JPAのリード開発者が)認めているスレッドではhttp://community.jboss.org/message/623759#623759

はさらに、このフォーラムのスレッドは、私の仮説を支持するようになりましたあなたはEclipseLinkを使いたいだけではなく、まだ準備が整っていません。 "

私が理解する限り、JBoss 7と互換性を持たせるために調整が必要なEclipseLink JPAの実装にはいくつかの非互換性があります。したがって、私はすぐにJboss 7-EclipseLinkのサポートを期待していません。

現在のところ、これはまったく不可能な場合があります。しかし、方法を見つけたら、私はそれに非常に興味があります。

+0

私が直接スコットに連絡し、私はアルファをオフに働いています。私は今は時間のために壁に囲まれていますが、うまくいけば次の〜2週間で私はそれを持っていきます。 ALPHAを使用すると、Eclipselinkモジュールを設定できますが、Session CustomizationなしでJBoss 5.1で取得したVFS URLエラーが発生します。その問題は、VFSからpersistence.xmlのnullリソースを引き出す際の問題です。要するに、私は多くの時間が必要です。あなたが進歩していることを教えてください。 –

+0

私は、実装をHibernateを使用するように変更し、移動しました。申し訳ありませんが、私はこの問題でもっと手伝う時間がありません。がんばろう! –

関連する問題