RMI, как проверить, экспортируется ли объект - PullRequest
3 голосов
/ 19 апреля 2011

Как я могу проверить, экспортируется ли уже объект? Я перемещаю объекты с хоста на хост. Перед тем, как скопировать объект (с его состоянием) в другой узел, я должен удалить объект с помощью UnicastRemoteObject.unexportObject(this, true), но этот метод выдает java.rmi.NoSuchObjectException: object not exported, если объект еще не был экспортирован.

То, что я ищу, - это метод проверки того, был ли объект уже экспортирован (без перехвата исключения и без вывоза объекта). Что касается результата, тест должен иметь то же поведение, что и следующий метод:

boolean isExported(Object x) {
    boolean result = false;
    try {
        UnicastRemoteObject.unexportObject(this, true);
        result = true;
        UnicastRemoteObject.exportObject(this, 0);
    } catch (Exception e) {
    }
    return result;
}

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 19 апреля 2011

Просто попробуйте экспортировать его и поймать исключение.

...