首页 > 解决方案 > featuresBoot 在 Fuse 7 (Karaf 4.2) 中不起作用

问题描述

我正在将我们的代码从 Fuse 6 迁移到 Fuse 7(开发人员版)。

我们启动了很多实例,所以我需要像 Fuse 6 那样自动加载功能,但它不起作用。

我将以下内容添加到 /etc/org.apache.karaf.features.cfg

featuresBoot = \
    ...
    transaction-manager-narayana/5.7.2.Final, \ 
    camel-hl7/2.21.0.fuse-000077-redhat-1,\
    camel-mina2/2.21.0.fuse-000077-redhat-1,\
    camel-beanio/2.21.0.fuse-000077-redhat-1

并期望它安装camel-hl7、camel-mina2和camel-beanio。但是当我签入客户端时,它显示“已卸载”。

如果我手动执行,他们会安装feature:install

我还需要做什么?帮帮我欧比旺。

标签: javaapache-camelapache-karafjbossfusekaraf

解决方案


featuresBootRed Hat Fuse 7(以及 Karaf 4 甚至更早版本)的属性仅使用一次- 当 Karaf 功能服务第一次启动时。etc/org.apache.karaf.features.cfg读取和处理文件时,要素服务将其bootDone标志设置为true.

如果您希望在运行 Fuse/Karaf 并稍后添加新功能后处理该功能,则必须删除data/cache目录。

然而,这通常不是这样做的方法。如果您启动 Fuse/Karaf,您可以简单地安装您想要的附加功能 - 而无需添加到etc/org.apache.karaf.features.cfg. 只要打电话feature:install

如果您需要具有所需功能的特殊 Karaf 发行版,请查看 Karaf 手册中有关自定义发行版的部分。

对于 Red Hat Fuse 7,有一个特殊的快速入门说明如何操作 - 检查FUSE_HOME/quickstarts/custom


推荐阅读