RMI:Какие изменения необходимы для перекомпилированного класса impl

StackOverflow https://stackoverflow.com/questions/665280

  •  21-08-2019
  •  | 
  •  

Вопрос

У меня есть два приложения, которые взаимодействуют с помощью объектов RMI.У меня действительно есть интерфейс, класс реализации и сгенерированный класс-заглушка.

Я осознал, что некоторые изменения в классе impl приводят меня к созданию нового класса-заглушки.

Мой вопрос в том, какие изменения я могу внести, не перекомпилируя заглушку снова?

Насколько я знаю:

  • Я не могу изменить структуру метода (добавлять, удалять, изменять методы)
  • Могу ли я добавить serialVersionUID к классам класс impl использует?
  • Могу ли я изменить классы, которые использует класс impl ?
  • Могу ли я задокументировать impl и все используемые классы?

Я задаю этот вопрос, потому что я внес изменения в начале этой недели, и теперь соединение с RMI разорвано.Но я только добавляю комментарии и обновил свой checkstyle.Поэтому я добавил UIDS последовательной версии и изменил некоторые классы, чтобы они были окончательными.

Это было полезно?

Решение

Вам нужно только повторно запустить rmic и сгенерировать классы развертывания, если вы измените сигнатуру любого метода, включая добавление и удаление.Сгенерированный код просто связывает объект удаленного вызова с фактической реализацией через определенные методы для класса.

Это означает, что вы можете изменить код impl (за исключением сигнатур методов) и код любого класса, используемого классом impl, без проблем.Если эти классы, используемые реализацией, также являются частью вашей сигнатуры метода, то на стороне клиента потребуются соответствующие версии для соответствия удаленной реализации, но это не относится к RMI конкретно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top