更新:何らかの理由で実現するのに少し時間がかかりましたが、設定ファイルがバンドルPID固有で、同じcfgファイルを2つの異なるバンドル内の青写真、私は競合状態を作り出していました。ターゲットバンドルでcfgファイルを使用するようにしてください。Karaf v4.0.8:複数の青写真が同じ永続IDの設定をロードできない
注:上記はブループリントバンドルにのみ適用されます。バンドルを動的に維持するためにOSGI ConfigAdminサービスに依存せず、Camelコンテキストのようなものからcfgファイルを使用したい場合は、それが問題ありません。
私はkaraf 4.0.8の 'deploy'フォルダから2つの青写真を配備しています。どちらも共通のセクションを持っています:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint https://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
<cm:property-placeholder id="common" persistent-id="common" update-strategy="reload" placeholder-prefix="$(" placeholder-suffix=")"/>
<cm:property-placeholder id="sqlcfg" persistent-id="12345" update-strategy="reload" placeholder-prefix="$[" placeholder-suffix="]">
</cm:property-placeholder>
「共通」から両方の設定を共通に読み込みたいと思います。ただし、 'etc'フォルダと同じpersistentIdおよびpropertiesファイルを共有する場合、2番目に配備される青写真はロードとアンロードを継続します。 ファイルを別のファイルから読み込むと、すべてのファイルが読み込まれます。
コミュニティからのアイデアなぜこの動作がありますか? ありがとうございます。