我试图评估JBoss Fuse作为一个集成平台,并且我有以下有关部署的问题。如何在JBoss Fuse 6.2.1中正确管理功能配置部署?
我正在尝试设置结构并使用配置文件,更具体地说,用于骆驼/蓝图组件部署的功能存储库。 我在外部化组件配置时遇到以下问题:当我更新配置文件工件的快照时,配置更改未由容器拾取。
此外,当我从容器中完全删除配置文件时,PID配置文件停留在服务器的etc /文件夹中。
另外还有一个额外的问题,在加载config pid文件之前激活骆驼束,导致aries蓝图异常,并且我必须手动额外刷新osgi bundle。
这里是功能库文件中的样子:
<?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具有记录和基本路线一个有航线一个简单的骆驼原型项目:财产占位符blueprint.xml
这里是行家相应构建部分:
<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熔丝POC 1.1
织物:轮廓编辑--feature熔断器POC-骆驼熔断器POC 1.1 织物:轮廓编辑--feature熔断器POC-ActiveMQ的保险丝-poc 1.1
fabric:container-upgrade 1.1 root fabric:container-add-profile root fuse-poc
我手动完成osgi:refresh <bundle id>
后,它开始正常工作。
织物:容器移除简档的根熔丝POC
所有配置PID项留在配置,并且也滞留安装了所有OSGi包。我如何正确地取消部署工件以便容器清洁并且可以部署同一工件的更新版本而不产生副作用?
我怀疑我在做一些概念上的错误,因为最终上述问题导致了以下问题:如果我添加属性到要素中的要素或.cfg文件并再次使用maven安装项目,并且然后执行container-remove-profile,profile-refresh和container-add-profile,配置根本不会改变。它只能正确地重新部署,如果我手动在控制台上对我的pid执行config:delete命令。