Infinispan集群和hotrod客户端不会通信

时间:2012-07-30 15:19:22

标签: infinispan jgroups

我有一个复制集群,有几个节点 - 它们可以在彼此之间自由通信。我还有一个加入集群的Hotrod服务器(我可以看到它被其他节点识别)。但是当我将Hotrod客户端连接到服务器并尝试将某些东西放入缓存时,我得到了一个例外:

  • hotrod客户端: org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for message id[4] returned server error (status=0x85): org.infinispan.CacheException: Problems invoking command.

  • hotrod服务器:Caused by: org.infinispan.CacheException: Type of data read is unknown. Id=-2147482548 is not amongst known reader indexes.

  • 具有缓存库的节点:WARN: Problems unmarshalling remote command from byte buffer org.infinispan.CacheException: Type of data read is unknown. Id=-2147482548 is not amongst known reader indexes.

Hotrod客户端也没有看到其他节点提供的任何更改。如果除了hotrod服务器之外没有集群中的任何节点 - 一切正常。如果任何其他节点(例如注册了CacheListener)可用,我会得到提到的例外情况。

我到处使用Infinispan 5.1.5.Final和JGroups 3.0.10.Final。 Win7 64位,Java 6_0_32 32位。所有节点都在一台计算机上运行,​​并且群集是在TCP传输堆栈上构建的。每个节点都是Java SE应用程序。在infinispan论坛上有一个类似的帖子(https://community.jboss.org/thread/199539),但它的版本较旧(在这种情况下更新有帮助)。

有人有类似的问题,或者知道我应该在哪里寻找问题的根源?

1 个答案:

答案 0 :(得分:3)

没关系......自己解决了

我已经向集群节点pom添加了一个依赖项(那些不是hotrod服务器):

<dependency>
  <groupId>org.infinispan</groupId>
  <artifactId>infinispan-server-hotrod</artifactId>
</dependency>