2012-07-30 97 views
1

我有一个复制群集白色的几个节点 - 他们可以相互之间自由沟通。我还有一个Hotrod服务器加入集群(我可以看到它被其他节点识别)。但是,当我一个的Hotrod客户端连接到服务器,并尝试把一些东西到缓存中,我得到一个异常:Infinispan群集和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.

  • 与cachestore一个节点: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)上有一个类似的帖子,但它的旧版本(在这种情况下帮助更新)。

有人有类似的问题,或有任何想法,我应该寻找问题的根源?

回答

3

没关系......由我自己解决

我添加了一个依赖于群集节点POM(那些不是的Hotrod服务器):

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