问题标签 [osgi]
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.
eclipse - 历史:为什么 Eclipse 基金会选择了 OSGi?
当时有并发技术吗?与其他技术和本机(3.0 之前)技术相比,OSGi 的优势是什么?
eclipse - OSGi SAT,我们应该如何处理激活失败?
eclipse OSGi Service Activator Toolkit 提供了一个框架,可以简化处理 budles 之间的依赖关系。
可以从 org.eclipse.soda.sat.core.framework.BaseBundleActivator 派生并覆盖(例如)activate() 方法来执行一些特定的初始化工作。
签名受保护 void activate(){}
这导致了一个问题:“如果 activate() 失败,我们打算做什么?”,假设由于某种原因我们无法正确初始化。我不能抛出异常,方法签名不允许这样做。
.net - .NET 的 OSGi 实现
是否有实现 .NET 版本的 OSGi 插件架构(或类似的东西)的工作?我只找到了这篇论文,但没有找到真正的图书馆。任何指针?
java - 如何过滤 OSGi 服务可见性?
OSGi 采用面向服务的体系结构:捆绑注册服务对象,其他捆绑使用。服务发布和绑定由框架管理。这将服务提供者与服务用户完全分离(除了需要就服务接口达成一致)。
有没有办法限制(通过配置)哪些服务对哪些捆绑可见?
例如,如果我有一个 HttpService,那么所有想要这样做的包都可以将 servlet 安装到其中。我想让选择性捆绑包看不到 HttpService 。
额外积分:除了过滤服务注册之外,还可以修改注册属性。因此,即使捆绑包注册了 Servlet alias=/admin
,我也可以将其更改为alias=/somethingelse
供 Pax Web Extender Whiteboard 使用。
java - Servlet 过滤器和 OSGi HttpService
我正在开发一个基于 OSGi 的应用程序,该应用程序org.osgi.service.http.HttpService
不支持使用 Servlet 过滤器。
在我意识到我无法使用 Servlet 过滤器之前,我计划应用几个现有的过滤器。这些过滤器将适当的 HTTP 标头设置为:
- 防止缓存响应
X-UA-Compatible
使用标题控制 IE8 中的呈现
我在这里有什么选择?我不想使用meta
元素来控制缓存,因为这种技术是不可靠的。使用meta
元素来设置X-UA-Compatible
标题可能是可以接受的,但我仍然对替代方法感兴趣。
java - Struts 2 是否可以作为 OSGi 包提供?
我有一个服务器应用程序,它包含多个 OSGi 包,一些是我的,一些是第三方的。其中一个包提供了一个使用 Struts 的 Web 前端。必要的 Struts 库位于 Web 前端包中。
现在我想添加第二个包,它提供另一个 Web 前端,具有不同的依赖项和非常不同的用例。我也想为那个包使用 Struts,但我不想将相同的库放入两个包中。
使用 OSGi,将 Struts 库分离到它们自己的包中并从我的两个包中使用它应该没有问题。但是,我找不到以这种方式打包的 Struts。
一些快速的谷歌搜索和查看Struts 主页并没有产生任何结果。我可以为 Struts 找到一个插件来在 Struts 中运行 OSGi 容器,但这不是我想要的。
java - 如何在通常的 java 代码中运行 OSGi 框架?
谁能给我一个如何使用osgi框架类的例子?我不知道如何使用这些类...
BR,
马库斯
java - OSGi 配置管理服务的现有实现?
我们正在考虑使用配置管理服务作为主要 API 来配置我们基于 OSGi 的应用程序中的组件。如果我们可以重用一些现有的实现,那就太好了,所以我正在尝试调查和评估最受欢迎的实现。我知道有:
- Apache Felix 配置管理员(org.apache.felix.cm)
- Equinox 配置管理员(org.eclipse.equinox.cm)
是否有任何其他实现需要考虑?
此外,我无法为这些实现找到任何好的文档。我主要对特定于实现的细节感兴趣。例如,我想知道不同的实现如何持久化配置数据(例如多个属性文件?XML 文件?多个 XML 文件?数据库?,...)。
java - OSGi 部署管理服务的状态
OSGi 应用程序由称为捆绑包的模块组成。问题是任何大小合理的应用程序都会有大量的包(可能很容易有数百个,只需查看 Eclipse IDE 的插件目录),因此在管理或部署应用程序时,您需要比单个包更粗的粒度。
OSGi 服务纲要规范包含一个部署管理服务,它将部署包定义为捆绑包和其他工件(例如配置)的集合,可以作为一个单元进行部署、升级、卸载等。
不幸的是,我找不到很多关于部署管理实施、工具或用户的信息。
该服务的状态如何?有人对部署管理员有任何经验、意见或建议吗?
此外,我认为 Spring dm-server 具有应用程序范围的捆绑包(PAR 文件)集合的概念,Eclipse Equinox 正在开发嵌套框架来解决这个问题。这些方法与部署管理有什么关系?
java - 使用 Spring DM 添加 ServiceListener
我想知道是否可以做相当于
与弹簧 DM。我找到了为生命周期管理添加侦听器的参考资料。但这与注册服务的生命周期有关。我需要了解注册/注销特定服务接口的任何服务的生命周期。
需要知道这一点的包实际上并不是在创建服务,而是将使用它。由于该服务的多个实例会在运行时更改,因此我不能简单地在我的 Spring 配置中创建服务引用。