2011-12-16 2 views
2

У нас есть 2 кэша на разных кластерах. Я хочу получить доступ к обоим из них через мой клиент. Я могу получить доступ к первому кешу в порядке (любой), но потом доступ ко второму не удается.Клиент кэша когерентности, обращающийся к различным кешам на разных кластерах

Например:

NamedCache cacheOne= CacheFactory.getCache("Cache-One"); 
NamedCache cacheTwo= CacheFactory.getCache("Cache-Two"); 

Второй вызов завершится с ошибкой:

Exception in thread "main" java.lang.IllegalArgumentException: No scheme for cache: "Cache-Two". 

Как я могу получить доступ к обоим кэши через клиента? Клиент конфигурации ниже:

*

<cache-config> 
    <caching-scheme-mapping> 
     <cache-mapping> 
      <cache-name>Cache-One</cache-name> 
      <scheme-name>Scheme-One</scheme-name> 
     </cache-mapping> 
     <cache-mapping> 
      <cache-name>Cache-Two</cache-name> 
      <scheme-name>Scheme-Two</scheme-name> 
     </cache-mapping> 
    </caching-scheme-mapping> 
    <caching-schemes> 
     <remote-cache-scheme> 
      <scheme-name>Scheme-One</scheme-name> 
      <service-name>TCPProxyCacheService</service-name> 
      <initiator-config> 
       <tcp-initiator> 
        <remote-addresses> 
         <socket-address> 
          <address>address of proxy one</address> 
          <port>2077</port> 
         </socket-address> 
        </remote-addresses> 
        <connect-timeout>300s</connect-timeout> 
       </tcp-initiator> 
       <outgoing-message-handler> 
        <request-timeout>300s</request-timeout> 
       </outgoing-message-handler> 
      </initiator-config> 
     </remote-cache-scheme> 
     <remote-cache-scheme> 
       <scheme-name>extend-castle</scheme-name> 
       <service-name>TCPProxyCacheService</service-name> 
       <initiator-config> 
        <tcp-initiator> 
        <remote-addresses> 
           <socket-address> 
            <address>address of proxy two</address> 
            <port>20088</port> 
           </socket-address> 
         </remote-addresses> 
         <connect-timeout>300s</connect-timeout> 
        </tcp-initiator> 
        <outgoing-message-handler> 
         <request-timeout>300s</request-timeout> 
        </outgoing-message-handler> 
       </initiator-config> 
     </remote-cache-scheme> 
    </caching-schemes> 
</cache-config> 

*

ответ

1

Вы определили extend-castle схему, где должна была быть определена Scheme-Two схема. Любое изменение имени схемы во втором remote-cache-scheme - Scheme-Two или изменить название схемы во втором cache-mapping - extend-castle.

Смежные вопросы