4 Replies Latest reply on Sep 26, 2016 10:58 AM by Paul Ferraro

    What is the best way to separate Wildfly AS JVM from Infinispan cache JVM?

    Gunther v. Wolffersdorff Newbie

      We are running a Wildfly cluster (8.2.0.Final). To separate the Wildfly JVM from the Infinispan cache (JPA entity + custom) we have also

      a Infinispan cache server running at each host building a Infinispan cluster. So we can tweak and monitor the AS and the cache JVM separately.

       

      To achieve this we configured a cache container with an invalidation cache having a remote store like this:

        

      ...
                   <cache-container name="hibernate" default-cache="entity" module="org.hibernate.infinispan">
                      <transport lock-timeout="60000"/>
                      <invalidation-cache name="entity" mode="SYNC">
                          <eviction strategy="LRU" max-entries="1000"/>
                          <expiration lifespan="45000" max-idle="30000"/>
                          <remote-store cache="hibernateExtern" socket-timeout="60000" tcp-no-delay="true" remote-servers="local-cache-server" fetch-state="false" passivation="false" preload="false" purge="true" shared="true"/>
                      </invalidation-cache>
                      <replicated-cache name="timestamps" mode="ASYNC"/>
                  </cache-container>
      ...
      

      But some things doesn't work optimal:


      We have to configure a cache also in the Wildly Cluster (max-entries cannot be zero, local-cache isn't an option too).

      So as a result we get a Wildly cache cluster, holding only some entries and the Infinispan cache cluster as main cache.

       

      We rely on Wildly 8.2.0.Final as this does not work any more by 10.0.0.Final and above.

      See [WFLY-6596] WrongClassException when using infinispan as remote-store for hibernate entity cache - JBoss Issue Tracker .

      Because the ticket is ignored for the last months I think our way is not the right one to go.

       

      So the question is, what is the best way to separate AS and cache JVM from each other? Do you have other ideas?

      How do you run a separated JPA entity cache?