2015-06-03 2 views
2

Я пытаюсь написать приложение rmi.Иерархические интерфейсы Java RMI

I имеют следующую структуру: class structure

Каждый метод RemoteLobby бросает RemoteException. Методы в ILobby этого не делают.

я получаю следующее сообщение об ошибке при компиляции:

java.rmi.server.ExportException: удаленный объект реализует нелегальный удаленный интерфейс; вложенное исключение:

Возможно ли иметь интерфейс между классом и удаленным интерфейсом?

  • Ahsous

ответ

0

Можно ли иметь интерфейс между классом и удаленным интерфейсом?

Да, конечно, но это означает, что он расширяет Remote, что означает, что она Remote сам, а это значит, что она должна подчиняться семантикой, требуемая Remote интерфейсов.

Каждый метод RemoteLobby бросает RemoteException. методы в ILobby нет.

И семантика удаленных интерфейсов заключается в том, что все методы должны быть объявлены, чтобы выбросить RemoteException или один из его суперклассов. Поэтому вам нужно настроить методы в ILobby.. В подобном случае я бы также сделал ILobby прямо или косвенно, как и по наследству, чтобы сделать это понятным.

-1

Я решил свою проблему, удалив зависимости от интерфейсов и просто реализую их как в своем классе.

+0

Я не считаю это совершенно ясным. Либо вы должны уточнить этот ответ, либо удалить вопрос. – EJP