2015-06-13 122 views
0

我是一个新手,无法通过实验学习和学习。在尝试访问不同名称的远程缓存失败后,我需要一些帮助。这里是我没有嵌入的infinispan客户端 - 服务器模式的场景。Infinispan远程缓存访问

1)我在infinispan集群中启动了node1,并将默认远程缓存名称设置为node1_cache。 - 启动Hotrod服务器

2)在infinispan群集中启动node2,并将默认远程缓存名称设置为node2_cache。 --Hostrod服务器启动

现在从Hotrod客户端中,我可以看到RemoteCacheManager可以正确初始化,并且群集正在正确设置并且节点在控制台中相互添加。

但问题是从一个单一的客户端

1)当我试图使用名称node1_cache得到RemoteCache,我得到的实例。

2)但是当我尝试访问node2_cache时,它给了我RemoteCache实例的空值。

现在我正确访问这种方式还是缺少这方面的任何东西?

是不是一个客户端可以访问集群中配置的所有节点的所有缓存?

请指导我。谢谢。

回答

1

经过大量关于分布式缓存概念的挖掘之后,我想出了以下概念。

1)我为两个infinispan节点使用了两个集群配置文件,一个dist缓存名称为node1_cache和其他node2_cache。

2)我发现如果你有多个不同名称的缓存,那么所有这些缓存必须在同一个集群中的infinispan热棒服务器的所有配置文件中定义。这意味着在这种情况下,两个配置文件都必须定义node1_cache和node2_cache名称。然后只有当我们说

remoteCacheManager.getCache(“cacheName”);我们才可以访问和使用这两个缓存。