CLOVER🍀

That was when it all began.

InfinispanのHibernate 2nd Level Cacheサービスを開始する

Infinispanを、Hibernate 2nd Level Cacheとして使う場合は、あらかじめInfinispanのCacheManagerを起動しておく必要があるらしいです。

「$JBOSS_HOME/standalone/configuration/standalone.xml」の以下の部分

        <subsystem xmlns="urn:jboss:domain:infinispan:1.2" default-cache-container="hibernate">
            <cache-container name="hibernate" default-cache="local-query">
                <local-cache name="entity">
                    <transaction mode="NON_XA"/>
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="local-query">
                    <transaction mode="NONE"/>
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="timestamps">
                    <transaction mode="NONE"/>
                    <eviction strategy="NONE"/>
                </local-cache>
            </cache-container>
        </subsystem>

の以下の部分を

            <cache-container name="hibernate" default-cache="local-query">

このように修正します。

            <cache-container name="hibernate" default-cache="local-query" start="EAGER">

「start="EAGER"」とします。

これで、起動時にInfinispanのCacheManagerがJNDIに登録されます。ルックアップする時の名前は、「java:jboss/infinispan/container/hibernate」です。

なお、JBoss AS 7.1.1で使おうとしたら、これに引っかかって動かせませんでした…。
https://community.jboss.org/thread/177214?start=15&tstart=0

WildFlyに持ち越しかなぁ。