0

http://fuse.fusesource.org/bundle/faq.htmlの下部に記載されているように、features.xml でヒューズ アプリケーション バンドル ツールを使用して、起動時に機能をインストールしようとしていますが、起動順序に問題があります。

私のorg.apache.karaf.features.cfgファイルにあるFuse Application Bundlesバンドルを含むのは、ファブリックバンドル機能だと思います:

#
# Comma separated list of features to install at startup
#
featuresBoot=fabric-bundle,(some other features),myfeature

私の機能は次のように定義されています。

<feature name="myfeature" version="${project.version}">
    <bundle>fab:mvn:com.company/mybundle/${project.version}</bundle>
</feature>

しかし、起動すると、ログに次のように表示されます。

16:31:20,785 | DEBUG | t-60024-thread-1 | FeaturesServiceImpl              | 22 - org.apache.karaf.features.core - 2.3.0.redhat-60024 | Installing feature myfeature 2.0.0-SNAPSHOT
16:31:20,786 | DEBUG | t-60024-thread-1 | FeaturesServiceImpl              | 22 - org.apache.karaf.features.core - 2.3.0.redhat-60024 | Checking fab:mvn:com.company/mybundle/2.0.0-SNAPSHOT
16:31:20,789 | WARN  | t-60024-thread-1 | FeaturesServiceImpl              | 22 - org.apache.karaf.features.core - 2.3.0.redhat-60024 | Error when installing feature myfeature: java.net.MalformedURLException: Unknown protocol: fab

Fuse Application Bundles バンドル (fab-osgi) が実際に 3 秒後に開始されることに気付きました。

16:31:23,436 | DEBUG | lixDispatchQueue | fab-osgi                         | 61 - org.fusesource.fabric.fab.fab-osgi - 7.2.0.redhat-024 | BundleEvent STARTED - org.fusesource.fabric.fab.fab-osgi

したがって、サーバーがシェルで起動されると、実行できます

features:install myfeature

機能が正常にインストールされます。

したがって、機能をインストールして開始する前に、Fuse Application Bundles バンドルがインストールされ、起動時に開始されていることを確認する必要があると思います。どうすればこれを達成できますか?

乾杯、

トム

4

1 に答える 1