OSGi: есть ли «лучший способ» управлять сервисом и регистрами? - PullRequest
1 голос
/ 12 июля 2011

Я начинаю проект с OSGi, и передо мной стоит очень важный выбор, когда я определяю, как я буду обрабатывать регистрацию услуг и т. Д. *

Если я не ошибаюсь, у меня есть три варианта:

  • Используйте ручное решение, внедрив службы прослушивателей и обрабатывая мои собственные регистры (возможно, не самый плохой выбор)
  • Используйте Декларативную службу парадигма: Кажется, хорошо, но у меня такое чувство, что сейчас это немного устарело.Я прав?
  • Используйте парадигму Spring DM : Кажется, это последняя парадигма, но я не уверен, что она еще хорошо стандартизирована.Нужна ли мне специальная реализация OSGi для ее запуска (например, Virgo / SpringDM Server ?) Или я могу использовать свою классическую платформу OSGi, как только она содержит плагины org.springframework.*?

Есть ли у вас какие-либо комментарии или информация о моих допросах?У вас есть предпочтительный выбор (и почему?) Или вы используете другое решение, не включенное в мой список?

Заранее большое спасибо.

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Декларативные сервисы (DS) не являются устаревшими, они на самом деле являются самым чистым способом обработки привязки / отмены привязки служб в OSGi. Вы можете сделать это вручную, и это может быть лучше в зависимости от ваших сценариев использования, но в целом DS хороши. SpringDM использует Equinox, но они обернули его, чтобы вы могли сделать некоторые вещи более Springy. Я никогда не пробовал SpringDM, поэтому не могу много комментировать.

Если вы планируете использовать / интегрировать Spring в будущем, начните с SpringDM. В противном случае начните с DS. Если вам когда-нибудь понадобится что-то, что DS не может обработать, вы можете сделать это вручную с помощью сервис-трекеров. Допустимо смешивать DS и ручное обслуживание.

Я думаю, у вас есть четвертый вариант, называемый «Blueprint», который был предложен как альтернатива DS где-то в последние 2 года. Я не знаю, куда они попали, но я думаю, что SpringDM может использовать это внутренне.

1 голос
/ 12 июля 2011

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

...