2010-02-10 1 views
2

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

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

ответ

4

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

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

+0

Оказывается, это было именно то, как я вчера работал над этим вопросом. Я собирался разместить здесь решение, но ты избил меня. В любом случае спасибо! знак равно –