Вопрос

Мы начали использовать Apache Felix Karaf для проекта и воспользоваться сервисами Blueprint.

Теперь я хотел бы использовать Spring Dynamic модули, чтобы иметь доступ к расширенным функциям DI и функциям тестирования. Проблема в том, что я не смог выяснить, как получить Spring DM 2.x, работающий на Felix.

Установлены функции Spring и Spring-DM:

karaf@root> features:list
State         Version       Name       Repository
[installed  ] [2.5.6.SEC01] spring     karaf-1.6.0
[installed  ] [1.2.0      ] spring-dm  karaf-1.6.0
[uninstalled] [1.6.0      ] wrapper    karaf-1.6.0
[uninstalled] [1.6.0      ] obr        karaf-1.6.0
[installed  ] [1.6.0      ] http       karaf-1.6.0
[uninstalled] [1.6.0      ] war        karaf-1.6.0
[uninstalled] [1.6.0      ] webconsole karaf-1.6.0
[installed  ] [1.6.0      ] ssh        karaf-1.6.0
[installed  ] [1.6.0      ] management karaf-1.6.0

Но для использования сервисов Blueprint мне нужна Spring DM 2.x (по крайней мере, согласно веб -сайту Spring, «для сервиса Blueprint RI, используйте версию 2.x+»).

Я видел, что можно Добавить функции в Apache Felix, но из того, что я понял, это необходимо объявить файл features.xml в некотором репозитории.

Мой вопрос: есть ли более простой путь, который также будет более интегрированным (через Maven)

Это было полезно?

Решение

Хорошо, после некоторого расследования мне удалось заставить пучки работать с Spring DM 2.0.0.m1 на Карафе.

Как я решил, чтобы добавить дополнительный набор функций (см. http://karaf.apache.org/manual/2.2.5/users-guide/provisioning.html) путем определения функции XML дескриптора, как это:

<?xml version="1.0" encoding="UTF-8"?>
  <features name="spring-features">
    <feature name="spring-dm-2" version="2.0.0.M1">
        <feature version="3.0.3.RELEASE">spring</feature>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/2.1_3_6</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-io/2.0.0.M1</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-core/2.0.0.M1</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-extender/2.0.0.M1</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-annotation/2.0.0.M1</bundle>
        <bundle>mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.spring/2.1.0</bundle>
    </feature>
  </features>

А затем загрузить его так

features:addurl /path/to/spring-dm-feature.xml
features:install spring-dm-2

Обратите внимание, что это работает, но поставляется с несколькими уродливыми стектрасами - я надеюсь, что с помощью парней в списке пользователей Karaf / The Spring Polks, которые мы сможем избавиться от них.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top