You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache Karaf 4.4.3中安装camel-milo组件?

在Apache Karaf 4.4.3上安装和使用Camel-Milo 3.21.0指南

问题原因

camel-milo属于Apache Camel的社区支持组件,并非核心组件,因此默认不会包含在官方发布的apache-camel特性列表中,无法直接通过feature:install camel-milo安装。

安装步骤

1. 添加Camel-Milo特性仓库

在Karaf控制台执行以下命令,添加对应版本的camel-milo特性仓库(版本必须与你的Camel版本3.21.0完全一致):

feature:repo-add mvn:org.apache.camel/camel-milo/3.21.0/xml/features

该命令会从Maven中央仓库拉取camel-milo专属的features.xml文件,包含所有依赖的描述。

2. 安装Camel-Milo特性

仓库添加成功后,执行以下命令安装camel-milo及其所有依赖:

feature:install camel-milo

Karaf会自动处理所有依赖项,包括Eclipse Milo的核心bundle,无需手动安装。

备选方案(若仓库添加失败)

如果上述仓库无法正常拉取,可手动添加Eclipse Milo的特性仓库(camel-milo 3.21.0依赖Eclipse Milo 0.6.8):

feature:repo-add mvn:org.eclipse.milo/milo-features/0.6.8/xml/features
feature:install milo-server milo-client

然后手动安装camel-milo bundle:

bundle:install -s mvn:org.apache.camel/camel-milo/3.21.0

快速使用示例(OPC服务器)

以下是一个基于Karaf Blueprint的简单OPC UA服务器路由,每隔1秒生成随机数并发布到OPC节点:

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.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 http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">

    <!-- 配置Milo服务器参数 -->
    <bean id="miloServerConfig" class="org.apache.camel.component.milo.server.MiloServerConfiguration">
        <property name="bindAddress" value="0.0.0.0"/>
        <property name="port" value="12685"/> <!-- 避免与默认OPC UA端口4840冲突 -->
        <property name="productUri" value="urn:org:apache:camel:milo:demo-server"/>
    </bean>

    <!-- Camel路由定义 -->
    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
        <route id="opc-ua-server-demo">
            <from uri="timer:dataGenerator?period=1000"/>
            <setBody>
                <simple>${random(0, 100)}</simple>
            </setBody>
            <!-- 发布到OPC节点:命名空间2,节点路径Test/Value -->
            <to uri="milo-server:ns=2;s=Test/Value?configuration=#miloServerConfig"/>
        </route>
    </camelContext>
</blueprint>

将该文件保存为opc-server-blueprint.xml,放入Karaf的deploy目录即可启动OPC服务器。

常见问题排查

  • 版本不匹配:必须保证camel-milo版本与你的Camel版本完全一致,否则会出现类加载异常。
  • 端口冲突:默认OPC UA端口为4840,若被占用,可在MiloServerConfiguration中修改port属性。
  • 依赖缺失:若安装时提示缺少Milo相关bundle,执行feature:install milo-server milo-client补充依赖。
  • 权限问题:若运行在Linux/macOS环境,低端口(如4840)需要root权限,可改用高位端口或配置端口转发。

内容的提问来源于stack exchange,提问作者Tahmid Ekram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 15:07:19