2009-03-20 7 views
1

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

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

Вопрос в том, какие изменения я могу сделать без повторной компиляции заглушки снова?

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

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

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

ответ

2

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

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