2

私のプロジェクトでは、Jboss AS 7.1 サーバー、休止状態 3.5、および Java 1.7 を使用しています。キャッシュには、infinispan 5.1.5 (「Brahma」) を使用しています。次の方法で、休止状態の構成 xml でキャッシュを構成しています。

<prop key="hibernate.cache.use_second_level_cache">true</prop> <prop key="hibernate.cache.use_query_cache">true</prop> <prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</prop> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.infinispan.InfinispanRegionFactory</prop> <prop key="hibernate.cache.infinispan.statistics">true</prop> <prop key="hibernate.cache.infinispan.cfg">infinispan-config.xml</prop>

そして私の infinispan-config.xml で

<default>
     <transaction
            transactionManagerLookupClass="org.infinispan.transaction.lookup.GenericTransactionManagerLookup"
            syncRollbackPhase="false"
            syncCommitPhase="false"
            cacheStopTimeout="30000"
            use1PcForAutoCommitTransactions="false"
            autoCommit="true"
            lockingMode="OPTIMISTIC"
            useSynchronization="false"
            transactionMode="TRANSACTIONAL"
     />
     <invocationBatching enabled="true" />
    <loaders passivation="true" shared="true" preload="true">
        <loader class="org.infinispan.loaders.file.FileCacheStore" fetchPersistentState="true"
            ignoreModifications="false" purgeOnStartup="false">
            <properties>
                <property name="location" value="/tmp/infinispan"/>
            </properties>
        </loader>
    </loaders> 
</default> 

私の質問:

  1. Java クラスで使用されるクエリをキャッシュするにはどうすればよいですか?
  2. 休止状態の hbm ファイルの場合、キャッシュ フォルダーは infinispan によって作成されましたが、それぞれのフォルダーにキャッシュ ファイルが生成されないのはなぜですか?
4

1 に答える 1

4

その Infinispan 構成はいたるところにあり、Hibernate 2LC のデフォルトの Infinispan 構成のガイドラインにはまったく従っていません。パッシベーションは必要ありません。ただのキャッシュです。Hibernate 自体は、キャッシュにない場合でもデータを取得できるバックエンドです。呼び出しをキャッチする必要はなく、Infinispan 構成レベルでトランザクションを構成しません。トランザクションが Hibernate レベルで正しく構成されていること、およびそれらの設定が Infinispan で使用されることを確認してください。

最後に、ここで Infinispan を使用した Hibernate 2LC のデモをいくつか作成しました。クエリキャッシングを行う方法がわかる場所を見てください:)

于 2013-06-07T14:47:06.917 に答える