Итак, я пытаюсь отправить сообщение по кластеру, сообщение будет содержать объект 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());
}
Странно то, что я могу создать новый экземпляр пользователя внутри получения и не получить никаких проблем. Например;
public void receive(Message msg) {
User user = new User("Test", "Test");
User user = (User) msg.getObject();
System.out.println("Username: " + user.getUsername());
}
У кого-нибудь есть идеи?