问题标签 [blueprint-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.
spring - 将 Spring Security 与在 Karaf 中运行的 CXF OSGI 包集成
我正在使用的应用程序有一个带有基于 JavaScript 的客户端的 Web 应用程序包,它向基于 CXF 的包发出 REST 调用。后者使用蓝图与服务层捆绑包暴露的服务挂钩。主 WAB 通过 Spring 的 DelegatingFilterProxy 使用 Spring Security。
目标是将基于 CXF 的捆绑包集成到安全折叠中。我们尝试了两种方法:将 CXF 包部署为 WAB(在其中注册 CXF servlet 以及 Spring 过滤器)。问题在于解析将此捆绑包连接到服务层的蓝图文件。特定错误表明找不到蓝图的命名空间处理程序。
最新的方法是使用 blueprint.xml 来部署 CXFNonSpringServlet 以及注册 DelegatingFilterProxy 过滤器。blupring.xml 的相关部分:
这部分工作,过滤器被集成到 HTTP 请求中。我得到的错误是
如何避免此错误?如何确保创建 Spring 应用程序上下文?
谢谢,
迈克尔
java - Bndtools 输出到控制台
我刚刚开始为我的 OSGi 项目使用 bndtools,但我似乎无法配置项目以将信息输出(Hibernate 信息、Spring DM 信息)输出到控制台(在 Eclipse 中)。我在这个项目上遇到了困难,因为我没有得到任何反馈,而且似乎没有创建日志文件。
爱
java - OSGi 基于角色的安全性
我正在寻找一个允许 OSGi 服务和 CXF Web 服务基于角色的安全性的安全框架。前段时间我已经使用了spring security,但是当我们现在切换到蓝图时,据我所知,它不再是一种选择。要配置访问规则,我想主要使用标准的@RolesAllowed 注释。那么我最好的起点是什么?我还考虑过自己将其实现为蓝图扩展,但我更喜欢现有的解决方案。
dynamic - 使用 Aries 蓝图时服务的动态性
我正在我的 OSGI 应用程序中构建一个缓存系统,我最初的想法是,好的,当注册服务时我想应用缓存,我只是代理该服务并注册具有非常高的服务排名的代理。
这几乎可以工作,具体取决于我的捆绑包的启动顺序。如果消费者最后启动一切正常,并且如果我停止缓存包,消费者将回退到原始实现但是如果我重新启动缓存包,那么消费者不会获得服务的代理版本。
为了举一个简单的例子来证明这一点,我制作了一个简单的捆绑包,它手动注册了一个排名更高的已知服务(即不创建代理等),问题仍然存在,当更高排名的服务启动时,消费者仍然使用排名较低的服务。
蓝图的活力是否只适用于特定情况?
- 初始接线 -> 选择排名最高的服务
- 当有线服务消失时 -> 选择排名最高的服务
- 当新服务出现时 -> 不做任何事情
有没有办法在 3:d 的情况下获得 1 和 2 的行为?
还是有更好的方法来完成我想做的事情?IE。与 HookEvent 或类似?
谢谢
编辑: 我通过在代理注册后更新使用的捆绑包解决了这个特殊问题,这似乎更新了服务线路。
java - 我可以在其他捆绑发布的蓝图服务前注入代理吗?
我们正在使用Karaf
和一些OSGI Blueprint services
来实现一个系统。
是否可以制作一种"BundleListener"
类型的包,当它出现在容器中时,用代理OSGI
装饰我们的包,以便引用这些服务的包将调用代理?Blueprint services
(我想这可以通过以某种方式在服务注册表中已经存在的服务前面添加代理,或者通过更改引用包获得的引用来实现 -ServiceTracker.addingService
样式)
osgi - osgi 蓝图捕获事件更新
我想在我的包更新、卸载或新建时执行脚本。
我实际上使用了销毁方法和初始化方法,但如果我的包只有“停止”或“删除”,我现在不使用。
对于示例,为什么我想在我的包更新时捕获事件:
- 我想知道旧版本和新版本,并在我的捆绑包被卸载时执行脚本:
- 如果我的捆绑包是新的,我想删除数据表
- 我想创建数据表
执行此类过程的正确方法是什么?能给我举个例子?
感谢
osgi - osgi blueprint如何读取bundle中的资源文件
我使用 osgi 和蓝图,我搜索如何读取我的包中的文件?如:mybundle
- 文件.json
- OSGI-INF/蓝图/蓝图.xml
- 网络信息
- *
我想在 myservice 中读取 file.json。
java - Jboss OSGI、eclipse Gemini 蓝图、无效的捆绑激活器
我正在尝试添加eclipse-gemini-blueprint
到wildfly 7.2
( ex-jboss
)
我在中添加了以下功能standalone-osgi.xml
:
但我收到以下错误:
以前我在模块中缺少一些依赖项,我手动添加了它们......
我能做些什么来解决这个问题?这个错误并没有告诉我那么多......
java - OSGi 蓝图配置:注入 bean 引用列表
我正在尝试在我的 blueprint.xml 的列表属性中注入一个 bean 列表(类似于您在Spring 配置中所做的):
蓝图.xml:
另一个类:
我查看了Blueprint XML 模式和R4.2 企业规范(我们正在使用),没有发现任何合适的。但这只是一个如此明显的用例,我无法相信这是不可能的。
任何建议我在这里缺少什么以及如何做到这一点?
gradle - Gradle 中的 OSGi 包构建问题
我有一个使用 Gradle 构建工具构建 OSGi 包的简单用例。如果构建路径中存在 java 文件,则构建成功,否则构建失败。
我在 gradle 脚本中使用“osgi”插件并尝试在没有任何 java 文件的情况下构建。构建总是失败并出现以下错误:
无法将 MANIFEST.MF 复制到
我确信在 Gradle 中必须有某种方法可以做到这一点,但不能很好。任何想法可以根据您的经验做些什么来解决这个问题。