Когда пакет обновляется (скажем, исправлять ошибку), что происходит с другими пакетами, которые в настоящее время используют обновляемый?
Скажите, что есть две службы пакетов и дао. Скажем, что классы в наборе сервисов используют классы в пакете dao, когда я выдаю команду для обновления уровня dao. Будет ли класс на уровне сервиса с использованием кода dao получить исключение?
Спасибо за ваш ответ.
Я хотел сказать, что обновлен с той же версией.
до тех пор, пока не произойдет обновление пакета, которое включает зависимый пакет.
Операция обновления пакета запускается пользователем, обновляющим комплект, правильно? Скажем, что когда пользователь вызывает обновление для обновления dao bundle, класс в сервисе bundle вызывается метод для класса на уровне dao... что происходит в этом сценарии?
Я нашел это сообщение в блоге полезным: http://solutionsfit.com/blog/2008/08/27/osgi-what-modularity-can-do-for-you-part-1/
Из сообщения:
Если мы просто заменим комплект связкой, в которую входит исправление, контейнер отменит регистрацию старого пакета и зарегистрирует новый пакет. Затем прокси-сервер может обрабатывать перетасовку ссылок и возобновлять вызов службы. Это взаимодействие будет почти мгновенным. Ваши клиенты будут полностью не обращать внимания на то, что произошло, и вы просто сохранили свою компанию за значительную сумму денег (я слышу бонус?).
В этом сообщении в блоге вызов authorizePayment() был приостановлен до тех пор, пока не будет доступен обновленный пакет. Что произойдет, если элемент управления находится в методе authorizePayment(), когда происходит обновление пакета?