1

プロジェクトで Apache Felix Karaf の使用を開始し、Blueprint Services を利用しています。

ここで、Spring Dynamic Modules を使用して、高度な 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 の Web サイトによると、少なくとも「Blueprint Service RI には 2.x+バージョンを使用してください。」)。

Apache Felix に機能を追加できることがわかりましたが、私が理解したことから、これにはいくつかのリポジトリで features.xml ファイルを宣言する必要があります。

私の質問は、より統合された(Mavenなどを介して)より簡単な方法があるかどうかです。

4

1 に答える 1

2

さて、いくつかの調査の後、私はバンドルをKarafのSpringDM2.0.0.M1で動作させることができました。

私が解決した方法は、次のように機能xml記述子を定義することにより、機能セットを追加することです(http://karaf.apache.org/manual/2.2.5/users-guide/provisioning.htmlを参照)。

<?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ユーザーリスト/ Springの人々の助けを借りて、それらを取り除くことができることを願っています。

于 2010-10-20T10:27:46.510 に答える