当前位置: 首页 > 知识库问答 >
问题:

自动启动OSGI包

司马祖鹤
2023-03-14

我正在创建一个运行在Eclipse之外的无头OSGI服务器。我使用Jetty作为我的Servlet容器,使用Equinox作为我的OSGI容器。我正在使用org.eclipse.equinox.http.Jetty包将Jetty添加到OSGi中。如果我从osgi>提示符手动启动jetty和org.eclipse.equinox.http.registry,那么它就可以正常运行。但是,我希望这是在无人值守的情况下运行的,所以我需要在OSGi启动时自动(或者至少是编程方式)加载那些bundle。我该怎么做?

换句话说,我如何自动启动OSGI包?

共有1个答案

颛孙成益
2023-03-14

另一个推倒重来的轮子,但好吧。看看Apache Karaf是如何处理这些问题的。顺便说一句。它是一个OSGi容器,支持在不同的OSGi运行时之间进行选择。因此,在您的场景中,您需要有某种“main”来加载您的根束,并告诉它加载您的初始束集。在Karaf的情况下,初始集由main类处理,它是可配置的。对于可能需要部署的其他包,Karaf确实有一个特性部署器,它将在给定的“Features.html" target="_blank">xml”中安装所有包。它是一个描述符,告诉features服务从maven或obr存储库部署包。

有关详细信息,请查看卡拉夫主类。有关Karaf的更多详细信息,请参阅Apache Karaf

以防万一,你会发现性病。和一个可能满足您需要的最小分布。

 类似资料:
  • 我有一个问题,我似乎无法独自解决。如果有一个OSGI捆绑包,它使用blueprint实例化应该部署到Karaf 3.0.0的对象。问题是,ClassNotFoundExceptions一直困扰着我,尽管相应的jar都位于捆绑包jar中。这是我的pom.xml: 这是我的一个blueprint xml文件(该文件导致ClassNotFoundException): 最后,这是我在尝试启动捆绑包时收到

  • 首先在 /etc/init.d 目录下添加 es 脚本(可执行), #!/bin/bash su es -c "/elasticsearch-2.3.5/bin/elasticsearch -d" 2. 查看系统启动级别 [root@slave02 init.d]# runlevel N 5 3. 在 /etc/rc5.d 下建立软链 ln -s S70es /etc/init.d/es

  • 安装Windows服务时,有两个选项可以在Windows启动时自动启动Windows服务。一个是自动,另一个是自动(延迟启动)。详细来说,这两者有什么区别? 例如,如果您使用wixtoolset创建安装程序,ServiceConfig元素具有DelayedAutoStart属性。当服务在启动时启动时,这会对发生的事情产生什么影响? WiX留档:ServiceConfig元素

  • 与不同,它看起来不支持参数。有没有办法为实现相同的行为?这是我的用例: 我有一个通用的Spring应用程序,它可以监听任何Kafka主题并写入我数据库中的相应表。对于某些主题,音量较低,因此可以以非常低的延迟处理单个消息。对于其他大容量的主题,代码应该接收消息的微批处理并使用Jdbc批处理写入数据库的频率较低。理想情况下,侦听器的定义如下所示: 对于小容量的主题,我会设置启用为true和为fals

  • UMD™自动启动     设定插入UMD™后启动PSP™电源时,是否自动播放UMD™。 关 不自动开始播放。 开 会自动开始播放。

  • 可设定LiveArea™更新等自动开始的应用程序或功能。若已安装支持自动启动设定的应用程序,可将每个应用程序分别设定为启用/停用。 若为[加密]>[视听者限制]内限制使用的应用程序或功能,无法进行此设定。