JBoss Fuseを統合プラットフォームとして評価しようとしていますが、私は展開に関する以下の質問があります。JBoss Fuse 6.2.1で機能設定のデプロイメントを正しく管理する方法は?
私はファブリックをセットアップしてプロファイルを使用しようとしています。具体的には、ラクダ/ブループリントコンポーネントの展開用のフィーチャリポジトリです。 コンポーネント構成の外部化に関する次の問題があります。構成ファイル成果物のスナップショットを更新すると、構成変更がコンテナによって取得されません。
さらに、コンテナからプロファイルを完全に削除すると、PID設定ファイルはetc/folderのサーバーに残ります。
また、config pidファイルがロードされる前にラクダバンドルがアクティブになり、ariesブループリントで例外が発生し、osgiバンドルを手動でリフレッシュする必要があるという追加の問題があります。ここで
は機能リポジトリファイルがどのように見えるかです:
<?xml version="1.0" encoding="UTF-8"?>
<features name="fuse-poc">
<feature name="fuse-poc-common" version="${project.version}">
<bundle>mvn:com.myorg.fuse/common/${project.version}</bundle>
</feature>
<feature name="fuse-poc-camel" version="${project.version}">
<feature>fuse-poc-common</feature>
<config name="com.myorg.fuse.poc.camel">
test.value=ENC(5XdDgfKwwhMTmbo1z874eQ==)
</config>
<bundle>mvn:com.myorg.fuse/fuse-poc-camel/${project.version} </bundle>
</feature>
<feature name="fuse-poc-activemq" version="${project.version}">
<feature>fuse-poc-common</feature>
<configfile finalname="etc/com.myorg.fuse.poc.jms.cfg">
mvn:com.myorg.fuse/feature/${project.version}/cfg/dev
</configfile>
<bundle>mvn:com.myorg.fuse/fuse-poc-camel- activemq/${project.version}</bundle>
</feature>
</features>
プロジェクト自体が一つのActiveMQやCMを使用して、基本的なログのルートとルートとの1つを有するとともに、簡単なラクダの原型のプロジェクトです:プロパティ・プレースホルダーでここでblueprint.xml
は、Mavenの内の対応するビルドセクションである:ここで
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.myorg.fuse</groupId>
<artifactId>fuse-poc-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>feature</artifactId>
<packaging>pom</packaging>
<name>FUSE PoC Feature Repository</name>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>filter</id>
<phase>generate-resources</phase>
<goals>
<goal>resources</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>target/classes/fuse-poc.xml</file>
<type>xml</type>
<classifier>features</classifier>
</artifact>
<artifact>
<file>src/main/resources/env/dev/com.myorg.fuse.poc.jms.cfg</file>
<type>cfg</type>
<classifier>dev</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
は、私が目を展開するために使用するコマンドです電子機能:
生地:1.1 生地をバージョン作成:プロファイル作成--parentのJBossヒューズフルヒューズ-POC ファブリック:プロフィール編集--repository MVN:com.myorg.fuse /機能/1.0.0-SNAPSHOT/xml/features fuse-poc 1.1
ファブリック:プロファイル編集 - フィーチャヒューズ - ポップアップ - ラクダヒューズ-poc 1.1 ファブリック:プロファイル編集 - フィーチャヒューズ-poc-activemqヒューズ-poc 1.1
ファブリック:コンテナアップグレード1.1ルート ファブリック:コンテナ追加プロファイルルートfuse-poc
手動でosgi:refresh <bundle id>
を手作業で実行した後、正常に起動します。
生地:コンテナ・削除・プロファイルルートヒューズ-POC
すべての設定PIDエントリは、設定に滞在し、すべてのOSGiバンドルもインストール滞在しています。コンテナがきれいで、同じアーティファクトの更新されたバージョンを副作用なしで配備できるように、アーティファクトを正しくアンデプロイするにはどうすればよいですか?
私は何か概念的に間違っていると思うのですが、最終的に上記の問題は次の問題につながります。フィーチャーの要素または.cfgファイルにプロパティを追加し、再度Mavenを使用してプロジェクトをインストールするとcontainer-remove-profile、profile-refresh、およびcontainer-add-profileを実行すると、configはまったく変更されません。それは、私が手動でコンソールの自分のPIDでconfig:deleteコマンドを実行する場合にのみ、正しく再デプロイできます。