2010-06-17 4 views
9

Я изучаю OSGi, а также немного о Groovy недавно, но я очень новичок в обоих. Я знаю, что Groovy является частью системы Grails и что Grails хорош для быстрого развития. Одной из наиболее желательных функций OSGi является управление загрузчиком классов, и я считаю, что это, вероятно, проблема с Grails (исправьте меня, если не так). Итак, мне любопытно, возможно ли это или даже желательно запустить Groovy и/или Grails в среде OSGI?Groovy + OSGi или Grails?

ответ

6

Доступен Grails plugin, который превращает приложение Grails в пакет OSGi, который может быть развернут на сервере dm сервера SpringSource. Автор плагина также разместил около blog posts об интеграции Grails с OSGi. Однако, насколько я понимаю, поддержка OSGi структуры Grails по-прежнему довольно ограничена и будет поддерживаться «изначально» с помощью Grails 2.0.

3

По моему мнению, нет никакой реальной выгоды при упаковке всего вашего приложения в виде пакета OSGi, за исключением того, что вы можете запустить его в контейнере OSGi. Это не сделает ваше приложение более модульным, потому что это еще один большой пакет. Обратите внимание, что использование OSGi ничего не упростит в отношении загрузки классов. Это может привести к проблемам при использовании библиотек, которые не были предназначены для работы в среде OSGi. Не используйте его, если у вас нет веских оснований для этого. Это отличная технология, но она не сделает ничего проще или лучше, просто опустив ее.

0

Я склонен думать, что наоборот: пусть модули Grails, такие как GORM или GSP, запускаются в Контейнер OSGi. Все банки Groovy или Grails (которые теперь являются модулями, а не плагинами) уже совместимы с OSGi, поэтому не следует устанавливать их в запущенный контейнер. Таким образом, вы можете сочетать преимущества обеих экосистем.

С другой стороны, развертывание приложения, упакованного в виде огромного монолитного пакета в контейнер OSGi, не имеет большого значения по сравнению с tomcat.

Смежные вопросы