繁体   English   中英

JGroups接收ClassNotFoundException

[英]JGroups on Receive ClassNotFoundException

因此,我尝试在群集中发送消息,该消息将包含一个User对象,该对象是Serializable类。

当我发送一个String或一个int时,它可以正常工作,该消息的发送没有问题,并且群集中的所有通道都可以接收它。

当我尝试发送自己的对象User时,它给了我这个例外;

Dec 7, 2013 3:55:19 PM org.jgroups.logging.JDKLogImpl error
SEVERE: JGRP000019: failed passing message to receiver: %s
java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: User
    at org.jgroups.Message.getObject(Message.java:378)
    at AuctionImpl$ReceiverClass.receive(AuctionImpl.java:151)
    at org.jgroups.JChannel.up(JChannel.java:738)

这是我的接收代码;

public void receive(Message msg) {
    User user = (User) msg.getObject();
    System.out.println("Username: " + user.getUsername());
}

奇怪的是,我可以在接收中创建User的新实例,并且不会出现任何问题。 例如;

public void receive(Message msg) {
    User user = new User("Test", "Test");
    User user = (User) msg.getObject();
    System.out.println("Username: " + user.getUsername());
}

任何人有任何想法吗?

看一下ClassNotFoundException:运行程序时,您的User类不在类路径中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM