如何加入一致性集群

How to join a coherence cluster

我在尝试 access/join 外部一致性集群时遇到问题。 在我当前的项目中,我有一个服务器(不是本地主机),它是 运行 一个一致性集群,我需要加入该集群以从该缓存中获取数据。

我正在尝试这个简单的代码,但它一直在我自己的机器 (localhost) 中创建连贯性

public static void main(String[] args){

    XmlElement opConfig = XmlHelper.loadFileOrResource("C:\Users\916001\Documents\NetBeansProjects\testAppProject\src\main\resources\tangosol-coherence-override.xml", "ACCESS_EXTERNAL_SERVER");
    NamedCache coherenceCache = CacheFactory.getCache("osbhmlmensage");
    System.out.println(CacheFactory.getCluster());
}

我期望的是加载 "opConfig" 然后使用 "CacheFactory.getCache"

访问集群

在 tangosol-coherence-override 我把这个:

<unicast-listener>
  <socket-provider system-property="tangosol.coherence.socketprovider"/>
  <reliable-transport system-property="tangosol.coherence.transport.reliable"/>
  <well-known-addresses>
    <socket-address id="1">
      <address system-property="tangosol.coherence.wka">xxx.xxx.xxx.xxx</address>
      <port system-property="tangosol.coherence.wka.port">yyyy</port>
    </socket-address>
  </well-known-addresses>      
</unicast-listener>

我在地址中放置服务器的 IP 和我放置集群端口的端口

我是 oracle 一致性缓存的新手,我目前正在使用 Coherence 3.7。

谢谢!

您使用 XmlHelper.loadFileOrResource 读取配置,但没有在任何地方使用它。在创建命名缓存之前,您应该使用此配置作为参数调用 CacheFactory.setCacheFactoryBuilderConfig

public static void main(String[] args){    
    XmlElement opConfig = XmlHelper.loadFileOrResource("C:\Users\916001\Documents\NetBeansProjects\testAppProject\src\main\resources\tangosol-coherence-override.xml", "ACCESS_EXTERNAL_SERVER");

    // here configuration is used
    CacheFactory.setCacheFactoryBuilderConfig(opConfig);
    NamedCache coherenceCache = CacheFactory.getCache("osbhmlmensage");
    System.out.println(CacheFactory.getCluster());
}