我有一个复制集群,有几个节点 - 它们可以在彼此之间自由通信。我还有一个加入集群的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),但它的版本较旧(在这种情况下更新有帮助)。
有人有类似的问题,或者知道我应该在哪里寻找问题的根源?
答案 0 :(得分:3)
没关系......自己解决了
我已经向集群节点pom添加了一个依赖项(那些不是hotrod服务器):
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-server-hotrod</artifactId>
</dependency>