Блокировка зависимости между пакетами OSGI + Spring-DM - PullRequest
2 голосов
/ 11 февраля 2010

Как видно из названия, у меня проблемы с OSGI + Spring DM.

В проекте моего проекта у меня есть пакет A, для которого требуется служба svB и служба экспорта svA Пакет B требует svA и экспортирует svB (среди прочего, конечно). Похоже, это вызывает тупик, так как кажется, что оба пакета ждут, пока другие подключатся к сети. Возможен ли такой тупик с Spring DM? Есть ли решение для этого?

1 Ответ

4 голосов
/ 12 февраля 2010

Это не похоже на проблему с Spring-DM, скорее, вы настроили себя на этот тупик: A зависит от B, B зависит от A, поэтому никто не может выполнить какую-либо работу. Чтобы выйти из этого, вам, вероятно, нужно изменить свой дизайн и разрешить запуск одного из A или B без другого. Между тем, другой должен иметь встроенную ленивую загрузочную логику (это будет ваша работа) и продолжить последовательность запуска, когда другой сам подключится.

С помощью декларативной службы OSGi вы можете объявить зависимость от службы, но разрешить ее отсутствие во время запуска (сделайте это с помощью параметра мощности).

...