Развертывание Близнецов Blueprint для Феликса в Glassfish
У меня есть веб-приложение на Java, использующее Spring и работающее в Glassfish 3.1.2, и я пытаюсь преобразовать его в архитектуру OSGi.
Я начал с того, что скачал план Близнецов и скопировал банки в autodeploy/bundle
каталог в Glassfish, и в этот момент я получил много ошибок относительно отсутствующих требований, например:
[#|2012-10-24T12:58:07.176 0500|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_Thread
ID=18;_ThreadName=Thread-5;|org.osgi.framework.BundleException:
Unresolved constraint in bundle org.eclipse.gemini.blueprint.core [258]:
Unable to resolve 258.1: missing requirement [258.1] osgi.wiring.package; (&(osgi.wiring.package=org.aopalliance.aop)(version>=0.0.0))
И подобные ошибки для org.apache.commons.logging
среди других.
Я довольно много читал об OSGi и Glassfish, но я не могу найти никаких примеров создания весенних приложений OSGi для Glassfish, так что, возможно, я делаю что-то очень неправильное.
У всех есть идеи, правильно ли то, что я делаю, и если да, то как решить эти проблемы.
1 ответ
Кажется, вы пытаетесь запустить контейнер OSGI внутри Glassfish. Если это так, вы должны использовать или написать своего рода загрузчик osgi, который запустит контейнер osgi. Он должен загрузить контейнер osgi, используя необходимые пакеты, которые являются минимальным набором для контейнера osgi, готовым к развертыванию следующего пакета.
Обновленный ответ: Судя по сообщению об ошибке, для вашего комплекта Gemini требуются комплекты, которых пока нет в контейнере. Вам необходимо выяснить, какие пакеты / классы импортируются из других пакетов, установить и запустить их перед развертыванием Gemini. Вы можете сделать это, изучив манифест комплекта Близнецов