JGroups при получении 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());
}

Странно то, что я могу создать новый экземпляр пользователя внутри получения и не получить никаких проблем. Например;

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

У кого-нибудь есть идеи?


person user3077908    schedule 07.12.2013    source источник
comment
Разрабатывал на Mac, перенес код на windows. Работал первый раз. JGroups прослушивал Mavericks?!   -  person user3077908    schedule 07.12.2013


Ответы (1)


Взгляните на ClassNotFoundException: ваш класс User не находится в пути к классам при запуске вашей программы.

person Bela Ban    schedule 09.12.2013