Использование Blueprint и Spring (не spring-dm) с OSGi
У меня есть приложение Spring3, которое загружает большую модель домена при запуске примерно за 3 минуты... Это хорошо, когда приложение время от времени развертывается в производственной среде, но это вызывает огромную боль при внесении изменений в разработку из-за остановка / запуск приложения.
Я провел небольшое исследование, и мне нравится идея разделения моего приложения на модули с использованием OSGi, чтобы я мог развертывать только те части своего приложения, которые меняются (например, нет необходимости развертывать модель домена при внесении изменений в слой сохраняемости); Однако я считаю, что барьер для входа в OSGi достаточно высок.
Можно ли использовать Blueprint для внедрения служб, предоставляемых между модулями (например, для представления реализаций модели предметной области, на мой веб-уровень) и продолжать использовать среду Spring (не Spring Dynamic Modules) внутри каждого из моих модулей?
1 ответ
Вы не можете смешать план и весну. Это две отдельные технологии, которые похожи, но несовместимы.
Я бы также не рекомендовал использовать Spring dm в OSGi. Хотя он работает для некоторых простых случаев, у него ужасная модель загрузки классов, которая приводит к огромным проблемам в OSGi. Смотрите эту статью от Гийома Ноде. Кроме того весной dm был заброшен источником весны. Там нет даже исправления ошибок с возрастов.
Весной Близнецы также практически заброшены. Спрингсорс пожертвовал его для затмения, а затем перестал по-настоящему работать над ним.
Так что если вы хотите перейти на этот шаг к OSGi, вам придется перейти на план Овна или декларативные услуги. Так что не стоит недооценивать усилия.