0

Infinispanを休止状態の第2レベルのキャッシュで使用したい。私のアプリケーションはglassfish3アプリケーションサーバーで実行されており、HibernateJPAを使用しています。hibernateライブラリにはすでにinfinispanが含まれているため、プロジェクトに追加しませんでした。jtaトランザクションを使用します。これを行うには、persistence.xmlを変更します。

        <!-- Infinispan second level cache configuration  -->
        <property name="hibernate.cache.use_second_level_cache" value="true"/>
        <property name="hibernate.cache.use_query_cache" value="true"/>
        <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.infinispan.InfinispanRegionFactory"/>
        <property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/>

アプリケーションを再デプロイすると、次の例外が発生します。

java.lang.NoClassDefFoundError: org/infinispan/transaction/lookup/TransactionManagerLookup

infinispanライブラリをプロジェクトに追加する必要がありますか?

私は設定しようとしました:

<property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/>

しかし、うまくいきませんでした。

前もって感謝します。

4

1 に答える 1

0

わかりました、私のせいです。ユーザーライブラリを作成し、必要なすべてのjarファイルを配置しました。Eclipseでプロジェクトのビルドパスに追加しましたが、ライブラリをGlassfishライブラリにコピーするのを忘れました。これを行うには、プロジェクトビルドパスを再度開き、[Deployment Assembly]を選択して、ユーザーライブラリを[DeployPath]に追加します。結局、すべてがうまくいくはずです。

于 2011-11-10T21:43:44.387 に答える