2013-04-10 2 views
4

У меня есть два узла JBoss AS настройки кластера 7.1.1.FINAL следующим образом -JBoss AS 7 Infinispan кластера

  1. мастер - работает на Ubuntu Server 12.10 (VM) VirtualBox
  2. ведомого - работает на Windows 7 (хост-машина VirtaulBox)

Я развернул веб-приложение Spring на обоих узлах, и я пытаюсь настроить рабочий реплицированный кеш. Моя проблема в том, что кеш, похоже, не реплицируется, хотя кластеризация, по-видимому, работает.

Мой конфиг -

в domain.xml (как на ведущего и ведомого)

<subsystem xmlns="urn:jboss:domain:infinispan:1.2" default-cache-container="cluster"> 
    <cache-container name="cluster" aliases="ha-partition" default-cache="default" jndi-name="java:jboss/infinispan/cluster" start="EAGER"> 
     <transport lock-timeout="60000" /> 
     <replicated-cache name="default" mode="SYNC" batching="true"> 
      <locking isolation="REPEATABLE_READ"/> 
     </replicated-cache> 
    </cache-container> 
</subsystem> 

Это довольно много конфигурации по умолчанию в domain.xml, вместо имени-JNDI и нетерпеливый, за исключением Начало.

В конфигурации яровой -

<infinispan:container-cache-manager id="cacheManager" cache-container-ref="springCacheContainer" /> 
<jee:jndi-lookup id="springCacheContainer" jndi-name="java:jboss/infinispan/cluster" /> 

С этой настройке, работает кэширование, но его не реплицируются. Кажется, что кеши работают независимо друг от друга. Кроме того, начало EAGER, похоже, не имеет эффекта. Кажется, что кэши инициализируются только тогда, когда они впервые используются.

из главного лога (первый кэш времени используется) -

[Server:server-one] 03:25:55,756 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (ajp-192.168.2.13-192.168.2.13-8009-3) ISPN000078: Starting JGroups Channel 
[Server:server-one] 03:25:55,762 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (ajp-192.168.2.13-192.168.2.13-8009-3) ISPN000094: Received new cluster view: [master:server-one/cluster|1] [master:server-one/cluster, slave:server-one-slave/cluster] 
[Server:server-one] 03:25:55,763 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (ajp-192.168.2.13-192.168.2.13-8009-3) ISPN000079: Cache local address is master:server-one/cluster, physical addresses are [192.168.2.13:55200] 
[Server:server-one] 03:25:55,769 INFO [org.infinispan.factories.GlobalComponentRegistry] (ajp-192.168.2.13-192.168.2.13-8009-3) ISPN000128: Infinispan version: Infinispan 'Brahma' 5.1.2.FINAL 
[Server:server-one] 03:25:55,851 INFO [org.jboss.as.clustering.infinispan] (ajp-192.168.2.13-192.168.2.13-8009-3) JBAS010281: Started cluster cache from cluster container 

от ведомого лога (используется первый кэш времени) -

[Server:server-one-slave] 03:29:38,124 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (ajp--192.168.2.10-8009-2) ISPN000078: Starting JGroups Channel 
[Server:server-one-slave] 03:29:38,129 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (ajp--192.168.2.10-8009-2) ISPN000094: Received new cluster view: [master:server-one/cluster|1] [master:server-one/cluster, slave:server-one-slave/cluster] 
[Server:server-one-slave] 03:29:38,130 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (ajp--192.168.2.10-8009-2) ISPN000079: Cache local address is slave:server-one-slave/cluster, physical addresses are [192.168.2.10:55200] 
[Server:server-one-slave] 03:29:38,133 INFO [org.infinispan.factories.GlobalComponentRegistry] (ajp--192.168.2.10-8009-2) ISPN000128: Infinispan version: Infinispan 'Brahma' 5.1.2.FINAL 
[Server:server-one-slave] 03:29:38,195 INFO [org.jboss.as.clustering.infinispan] (ajp--192.168.2.10-8009-2) JBAS010281: Started cluster cache from cluster container 

Я не думаю, что это УДП/multicast, поскольку у меня есть mod_cluster, HornetQ и Quartz, настроенные в этом кластере, и все они работают так, как ожидалось.

ответ

0

Ввод <distributable/> в web.xml сделал трюк.

0

У меня была аналогичная проблема, когда мой кеш не повторялся до тех пор, пока приложение не было впервые использовано. Я смог разрешить это, установив атрибут «start» реплицированного кеша в EAGER вместе с атрибутом cache-container start = «EAGER».

<replicated-cache name="default" mode="SYNC" batching="true" start="EAGER">