问题标签 [osgi-bundle]
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.
java - 来自 OSGI 的可配置 Java Servlet
我正在尝试创建一个可通过 OSGi 控制台配置的 Java 类。我听说你可以通过 SCR 注释来做到这一点,但不完全确定如何。我已经掌握了大部分内容,但不确定要获取和发布什么以及如何在 JSP 中引用它。这是我到目前为止所拥有的:
maven - 在 felix 等 osgi 框架中创建 Bundle
我想创建一个简单的包作为 maven 项目。请让我知道我该怎么做。实际上我可以使用现有的 pom 创建一个包,但现在我不想这样做。我想像 mvn archetype:generate 一样从头开始制作它。
任何建议都非常感谢。
java - 具有相同符号名称的包的 OSGi 包导出行为
考虑一下我有两个具有相同符号名称但版本不同的 OSGi 包。两个包都导出相同的未版本化包(例如,my.package
)。让 OSGi 保证将使用哪个包来提供包?(参考 OSGi 规范会很有帮助。)
osgi - 仅在 servicemix 上列出捆绑 ID
我正在使用 ServiceMix,我试图列出一些捆绑包并仅检索那里的捆绑包 ID。我正在尝试执行以下操作:
osgi:列表 | grep -i | awk xxx
我尝试使用 awk,但 ServiceMix 中没有提供。我也尝试使用 shell:exec 像这样:
osgi:列表 | grep -i | 外壳:执行
awk 'xxx'
但这也不起作用,也许我的方法完全错误。有没有其他人有一些经验如何实现我只检索捆绑包的 ID 的目标?
oracle11g - 需要指针 | 使用 JDBCTemplate | CQ 5.5
我需要一些关于以下场景的指示/建议。
设想:
我们正在尝试使用JDBCTemplate
inCQ 5.5
来查询数据库 ( Oracle 11g
)。作为第一步,我们有integrated CQ with Spring Framework
. 现在要让 JDBCTemplate 工作,它requires JDBC driver
需要单独加载到 CQ 中,因为 Spring jar 不提供它。所需的 jar 可在此处获得http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html ,在我的情况下 jar 是“<code>ojdbc6.jar”,其中包含OracleDriver
类( JavaDoc : * http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html *) 需要注册驱动程序以创建与数据库的连接。
以下几点需要的问题/建议:
- 由于 oracle 11g 是商业产品,因此没有可用的在线存储库(用于 pom 依赖项),我们需要为它创建一个单独的本地存储库。(需要指针;还有其他方法吗?)
- 上面提到的 Jar 不是 OSGi。那么在这种情况下如何处理呢?(我按照此处提到的说明创建了 OSGi 包http://cq-ops.tumblr.com/post/21893960212/how-to-turn-a-jdbc-driver-jar-into-an-osgi-bundle-jar )
- 在将此 jar 转换为 OSGi Bundle 的过程中,我必须删除 MANIFEST.MF 文件中的 Imported Packages 中提到的版本。(据我了解,默认情况下 CQ 会选择可用于任何类的最新版本,当任何类的新版本与当前版本不兼容时,可能会出现问题。需要指针;是否应该优先考虑?有没有人在任何项目中遇到过任何问题)
当前状态:
通过将 ojdbc5.jar 转换为 OSGi 包;我能够使用 JDBCTemplate。但是寻找一些指针来检查是否有人在其他项目中遵循了其他方法来实现上述场景?
eclipse - 运行我的 Eclipse 插件最终会出现 ClassNotFoundException
我正在尝试开发一个 Eclipse 插件,可以在右键菜单中添加一个动作。我用 plugin.xml 创建了一个 java 项目,并添加了相关的 java 类,该类调用对 java 文件的操作(ActionDelegate)。当我将此代码作为“eclipse 应用程序”运行时,正在调用该类并且一切都按我预期的那样工作。
问题是当我通过 eclipse 将此项目转换为“插件项目”以创建插件,并作为“eclipse 应用程序”再次运行时,然后我在创建的 java 类上得到 ClassNotFoundException。
在将此项目转换为“插件项目”的过程中,eclipse 添加了一个与 OSGI 捆绑包相关的 MANIFEST.MF。如果我删除这个文件 - 一切正常,如果我添加 MANIFEST.MF 文件 - 我再次得到上面的 ClassNotFoundException,所以 MANIFEST.MF 和作为插件的项目表示可能有问题。
此外,当我尝试将此插件导出为“可部署插件和片段”并将其安装到主机存储库中时,我收到以下错误:找不到带有 id 的导出单元:MyReloader 版本:1.0.0.201304210902。
任何帮助将不胜感激
java - ActiveMQ 与 Apache Karaf 2.3.1
我有 ActiveMQ 5.8.0 和 Karaf 2.3.1 分别运行。
我在卡拉夫所做的是:(已经安装了所有其他:spring、cxf、camel)
features:addUrl mvn:org.apache.activemq/activemq-karaf/5.8.0/xml/features
osgi:install -s mvn:org.apache.activemq/activemq-camel/5.8.0
features:list | grep mq
显示:
如果我安装activemq-broker
它将安装服务器和 ActiveMQ 的所有内容,我不需要它。
在我的一个包中,我公开了 camel-cxf 端点,我从中将消息发送到队列。问题是,当我尝试安装我的包时,它给了我一个错误:
我知道 Karaf 中安装的一些功能必须导出这个包:org.apache.activemq
,但他们没有。
我找不到任何关于在 Karaf 中安装哪些功能将单独使用 activemq 东西的信息。我不希望 Karaf 在其中运行 ActiveMQ。我只需要安装必要的功能。
谁能指出我需要为此安装哪些功能?
osgi - osgi blueprint如何读取bundle中的资源文件
我使用 osgi 和蓝图,我搜索如何读取我的包中的文件?如:mybundle
- 文件.json
- OSGI-INF/蓝图/蓝图.xml
- 网络信息
- *
我想在 myservice 中读取 file.json。
console - Osgi 命令行同时安装多个插件
是否可以同时加载 osgi 命令行目录中可用的所有插件?
这启动了 osgi 控制台并激活了 org.eclipse。ss
给我看这个
我在一个目录中有一堆包:/path/to/all/bundles
我当然可以使用以下命令在 osgi 控制台上一个接一个地做:
我希望能够一次加载所有捆绑包,下一步也是能够安装它。
任何指针?
谢谢!
osgi - 无法将捆绑包自动部署到 Karaf
我正在开发一个基于 OSGI 的应用程序,它部署到 Karaf 容器。Karaf 有一个自动部署功能,将一个包复制到它的 karaf/deploy 目录应该会自动将该包部署到容器中。但是,当我将捆绑包复制到部署目录时,通常会遇到类似于以下错误的错误:
容器告诉我我正在尝试部署一个重复的包,而不是重新部署一个已经部署的包。
Karaf 确实部署了该捆绑包,但它为什么不重新部署该捆绑包呢?是什么导致了这种行为?如何避免自动部署时出现此类错误?
谢谢,
迈克尔