问题标签 [karaf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fuseesb - FuseFabric - 通过控制台添加配置文件
在 FuseFabric 中,我们可以使用 Web 控制台添加配置文件,使用 Config Files 选项卡,只需编写 configFile 的名称和其中的属性 foo=foo
好吧,这很简单,我的问题是:如何使用 Fabric 控制台来做到这一点?
只是输入命令??????丁:
我已经看到了 fabric:profile 及其选项,我可以编辑属性,但前提是已经存在 PID。
谢谢你的每一个答案!
service - OSGi 声明式服务在运行时过滤引用
我一直在尝试在 Karaf 上使用 OSGi 声明式服务(以及其他东西,例如蓝图)的一些示例。我现在要解决的问题是如何在运行时获取对某些服务的引用(因此注释和/或 XML 在这里并不是一个真正的选择)
我将解释我的用例:
我正在尝试设计(到目前为止只是在我的脑海中,这就是为什么我仍然只尝试使用 OSGi :))一个系统来控制工业中的某些自动化过程。为了与设备通信,使用了一组特殊的协议。为了使组件尽可能可重用,我设计了一个基于层的通信模型(例如用于网络的 ISO/OSI 模型,但要简单得多)
要将其转换为 OSGi,我的系统的每一层都将由一组捆绑包组成。一个用于该层的接口,然后一个插件用于该层的每个实现(将其想象为 OSI 传输层上的 TCP 与 UDP)。
要引用此类网络中的任何设备,将使用自定义地址格式(此类地址的两个示例可以是 xpa://12.5/03FE 或 xpb://12.5/03FE)。这样的地址包含访问所请求设备所需的有关层及其值的所有信息。你可以猜到,这个地址的每一部分都代表了我网络模型的一层。
这些地址将存储在一些配置数据库中(因此,简单的 .cfg 或 .properties 文件也不是一个选项),以便可以在运行时远程更改它们。
我正在考虑创建一个工厂,它将解析这个地址,并根据它的所有组件,创建一个对象链(从 OSGi 获取适当的服务),实现所有层并相应地配置它们。
由于单个层可以有更多的实现(因此,实现单个接口的更多服务),这个工厂需要在运行时(当它获取作为字符串传递的设备地址时)决定选择哪个特定的实现(根据服务将声明的其他属性)。
这如何在 OSGi 中实现?什么方法更适合这个,DS、蓝图或其他方法?
java - 在 OSGI 4.2 包中使用 JAX-WS 时出现 NoClassDefFoundError
我的任务是将Cytoscape的插件(一个生物可视化软件平台)更新到最新版本的 Cytoscape API。Cytoscape 3.x 使用 OSGI 框架(我认为是 Karaf 2.2.x)与其插件(现在称为“应用程序”)进行交互。
问题在于插件/应用程序使用 JAX-WS 与外部服务器通信,而 JAX-WS 在 OSGI 环境中加载类似乎存在问题。
这是有问题的代码片段:
这是由此产生的异常:
我可以确认此代码在 OSGI 之外确实有效。
有什么建议么?我尝试过使用 将 JAX-WS API 和/或实现类直接嵌入到包中Embed-Dependency
,但这没有帮助。我也尝试过使用org.osgi.framework.system.packages.extra
andorg.osgi.framework.bootdelegation
属性,但无济于事。不过,我可能做错了什么。
我担心 OSGI 可能与用于创建该标头的反射 API 存在一些根本不兼容。但是在这种环境下运行 Web 服务客户端肯定不是不可能的,对吧?
java - 在 karaf 中,有没有办法通过 JMX 获取 bundle 的 spring 框架状态?
在 karaf 控制台中,如果您的 bundle 与 spring 框架连接,列出 bundle 将显示 spring 状态。例如,请参见下面的捆绑包 91。它的弹簧状态是“失败”。
无论如何可以通过 JMX karaf MBeans 获取这些信息吗?
MBean org.apache.karaf:type=bundles,name=SOMENAME/attribute=Bundles 列出了包的 osgi 状态,但没有列出 karaf 状态。有一个单独的 MBean 用于蓝图,但是四处挖掘我找不到任何列出捆绑包的弹簧状态的公开内容。
java - 使用 UTF-8 的卡拉夫
如果我启动 Karaf (2.3.4) 并设置以下环境
不再可能使用向上和向下箭头来获取最后一个命令(在 karaf 命令行中),这是我应该报告的错误还是不允许将此选项与 karaf 一起使用?
java - 获取 Apache httpcomponents HttpClient 4.3.x OSGi 捆绑包以在 Apache Karaf 2.3.x 上工作的问题
当尝试在Apache Karaf OSGi 容器中安装httpclient-osgi 4.3.2 包(org.apache.httpcomponents:httpclient-osgi:bundle:4.3.2 在HC 站点上指定)时,我收到以下错误报告:
检查标头时,它尝试加载的依赖项似乎被标记为Private-Package并且可以在包 JAR 中找到类:
=>
同时,org.apache.http* 也被定义为Import-Package包:
这似乎导致 Karaf 尝试查找包的导出并且无法激活捆绑包。
这个捆绑清单有问题吗?还是我错过了什么?
PS:我尝试了较旧的 4.3.x 和 Karaf 2.3.x 版本 - 结果相同。
java - Karaf 启动结果 凭据不足
我在 Ubuntu 上遇到了 Apache-Karaf 3.0.0 的问题,我想用命令“start”启动一个包。但我收到以下错误:
执行命令时出错:凭据不足。
“start --help”也会提示这个错误。
命令“list”和“list --help”完美运行。
我能做些什么?
osgi - 如何仅获取 karaf 中的活动捆绑包
我需要一个命令来仅获取 osgi / karaf 中的活动包,
问候,哈利
maven - 如何使用 maven 项目轻松部署到 Karaf Osgi 容器
我正在开发一个 OSGI 包,用于使用 PDFBox 库解析 PDF 文件。我使用 maven 构建项目并使用 Karaf 作为 OSGI 容器。PDFBox 库与 OSGI 兼容,所以我认为这很容易。但我就是无法正确部署模型。
在传统的 Web 应用程序中,我会构建一个包含所有依赖项的单个 WAR 文件,并将其放入 Servlet 容器中,然后它就会被部署。另一方面,我想出如何安装 osgi 包的唯一方法是手动完成。我必须创建一个安装说明文件,列出所有必须手动下载并复制到 Karaf 部署文件夹的依赖项,并确保以正确的顺序进行。我觉得我回到了石器时代。
一定有更简单的方法,对吧?我仍然使用 maven 来声明依赖项,但我只需要使用提供的范围。如果可以自动安装这些依赖项,那就太好了。
我正在使用 maven-bundle-plugin 从我的应用程序生成一个包。它确实生成了一个 OBR 存储库(repository.xml),我尝试使用 obr karaf 插件安装我的包,但它仍然对依赖项没有帮助。
osgi - 无法解析 271.0:缺少要求 [271.0] 包;(&(package =org.apache.cxf.jaxrs.client)(version>=2.7.0)(!(version>=3.0.0)))
我正在尝试安装我的捆绑包,但出现以下错误:
这些是我的捆绑:
我需要将 Apache CXF 更新到 2.7.0 版本吗?我该怎么做?我试图更新捆绑包,但它不起作用。
谢谢你的任何指点