如何从非 OSGi 应用程序调用 OSGi 应用程序,反之亦然

2023-12-01

我正在考虑使用 OSGi 编写一组新的应用程序,但它们需要与现有的非 OSGi 应用程序进行大量交互。

需要澄清的是,新的应用程序将需要调用其他团队维护的现有非 OSGi 代码库(通常是不同协议的专有服务),而新的非 OSGi 应用程序将需要调用新的 OSGi 服务。

我没有看到太多关于如何执行此操作的文档。

有人可以指出我正确的步骤吗


听起来您想将 OSGi 嵌入到更大的应用程序中。我前段时间写的一篇博客文章是一个很好的起点:http://njbartlett.name/2011/07/03/embedding-osgi.html

在 OSGi 包和 OSGi“外部”对象之间创建可见性的技巧是使用系统包的 BundleContext 来发布和/或使用服务。嵌入代码必须了解您想要在 OSGi 中可见的外部应用程序中的对象,并且应该将它们发布为服务。请注意,您需要通过系统捆绑导出来导出服务接口包 - 博客文章中描述了如何执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从非 OSGi 应用程序调用 OSGi 应用程序,反之亦然 的相关文章

  • 尝试运行 OSGi 调试目标时支持“平台不受支持”

    我正在尝试运行 IntelliJ Idea 的一个小型 OSGi 项目 我已经在 Idea 的 OSGi 配置部分添加了 Equinox 容器 然后我将 OSGi 方面添加到项目中 到目前为止一切看起来都很好 然而 一旦我尝试运行该项目 我
  • 大型企业 Java 应用程序 - 模块化

    我在一家全国性的公司工作 所以我们开发的软件规模很大 我们的核心系统是基于网络的 包括webservices 我们目前正在重新设计整个项目 现在是开始项目结构的时候了 我们有大约 7 个 Web 模块 包括基于Struts2 and Spr
  • Java 单元测试:替换被测私有方法

    运行 JUnit 测试时是否有任何方法可以替换私有方法中的逻辑 一些背景知识 我们有一些与 OSGi 容器内的包交互的私有方法 这在单元测试中不可用 因此该方法将失败 我们已经研究过 JMockIt 但方法替换功能似乎想要强制您替换类中相互
  • 如何使用 maven-bundle-plugin 从导入包中排除版本号?

    我在使用 maven bundle plugin 生成的 MANIFEST MF 时遇到问题 由于某种原因 当我在
  • 在 Liferay 7 中创建自定义标签库

    我正在使用 Liferay 7 和 OSGi 模块编写一个应用程序 我需要创建一个跨所有模块 portlet 可用的自定义标签库 但我几乎不知道从哪里开始 你有什么主意吗 我应该将 taglib 定义 类和 JSP 存储在 OSGi 模块中
  • 如何使用 OSGi 和 EE6 模块化企业应用程序?

    我知道已经有一些与该主题相关的问题 但我还找不到真正的解决方案 目前我正在使用 EE6 JPA CDI JSF 开发应用程序 我想采用一种更加模块化的方法 而不是将所有内容打包到 WAR 或 EAR 中并将整个内容部署在应用程序服务器上 我
  • Java 17 是否支持任何 OSGi 版本?

    我已经使用 Java17 运行了 OSGi 捆绑包 并在启动时得到了以下结果 Java 17 还不支持 OSGi 吗 org osgi util tracker ServiceTracker getServices 为空 None
  • 使用 Maven 为 OSGi“包装”jar 的好方法

    例如 我正在查看 OPS4J 上的 PAX 工具 this one http www ops4j org projects pax construct maven pax plugin wrap jar mojo html我想我找到了一个好
  • 将 OSGi 包分组以形成一致的“应用程序”的最佳方式是什么

    OSGi 方式 是开发包含离散的 连贯的功能块的单独的包 有时这些包包含实用程序类 有时它们依赖于实用程序类并设置自己的 OSGi 服务 另一方面 用户不太可能接触到捆绑包 他们更关心的是应用 一个执行任务或解决问题的软件 通常 应用程序将
  • Karaf OSGi 中无法加载 ScriptEngineManager 和 ScriptEngine(未找到 Nashorn)

    我正在尝试使用ScriptEngineManager and ScriptEngine使用 Java 执行一些 JavaScript 代码 我使用 Java 8 在 Karaf OSGi 下执行此代码 我使用的示例在示例 Java 类中运行
  • 访问另一个 osgi 包中的资源?

    我使用 eclipse 插件项目向导 使用 eclipse Helios 创建了两个 OSGI 包 A 和 B 在捆绑包 B 的清单文件中 我添加了捆绑包 A 作为依赖项 此外 我已导出 A 中的包 以便它们对 B 可见 我在捆绑包 A 中
  • OSGi 声明性服务的绑定顺序

    假设我使用 OSGi 声明性服务 并且我有一个服务 该服务具有多个带有策略 动态的引用 A 强制一元 B 强制一元 C 强制倍数 D 可选一元 E 可选的多个 当我的服务开始时 所有参考资料都可用 有没有办法控制bind的调用顺序 我想让
  • 我应该使用 Eclipse 插件(或 OSGi Bundles)作为普通的依赖管理工具吗?

    它再次发生了 我加入了一个新项目 该项目由几个具有相互依赖性的普通 Eclipse Java 项目组成 所有项目都通过项目构建路径进行管理 我发现这一切有点混乱 当谈到运行配置时 你就进入了地狱 过去 我一直坚持创建插件项目 而不是普通的
  • 使用 Felix 和 Maven 创建完整的 OSGi 应用程序

    我有一组使用 Maven 构建的 OSGi 包 我想知道是否有一个可用的 Maven 插件可以让我执行以下操作 指定要包含在发行版中的一组捆绑包和 或指定单个捆绑包并解决依赖关系 构建一个完整的分发框架 我的意思是一个包含所有需要的包的 z
  • 单元测试 OSGi 组件

    我目前正在考虑 如何设计 OSGi 组件 以便使用 jUnit 和 Mockito 等框架轻松为其编写测试 由于 OSGi 增强了 DIP 因此模拟捆绑包间的依赖关系非常容易 依赖倒置原理 和注入器方法 例如 setter 通常存在 但是捆
  • 无法捕获 Apache Karaf 客户端输出

    我使用以下命令在服务器模式下启动了 Apache Karaf 3 0 0 KARAF HOME bin start在 CentOS 6 5 中 然后我想使用运行几个命令 KARAF HOME bin client并捕获这些命令的输出 以确保
  • 在 OSGi 参考注释中动态设置目标属性

    读完一篇article https thecarlhall wordpress com 2010 06 06 set osgi service reference target through configuration on 参考目标 h
  • 在 Java 8 中使用 Java 7 比较器

    情况 我有一个 OSGi 项目 我正在尝试迁移到 Java 8 在我的项目中 我依赖于我 OSGi fied 的第三方库 只需添加MANIFEST MF文件并将元数据放入其中 这些库是从只读 SVN 存储库中签出的 因此我可以在需要时签出更
  • 您可以在不同的 OSGi 包中拥有 JSF 自定义组件吗?

    有人同时使用过 OSGi 和 JSF 吗 我问这个问题是因为 JSF 使用类加载器魔法来查找自定义组件 来自教程 重点是我的 这个配置文件最终会 是 META INF faces config xml 中 代表此的 jar 文件 成分 JS
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi

随机推荐

  • 如何以字幕方式输出字符串?

    我希望能够输入一个字符串 带空格 并将其显示为移动符号 例如 Input Hello World 5 This signifies the number of characters the sign can hold Output Sign
  • arr.sort(key=lambda x: (x[0],-x[1])) 是什么意思?

    gt gt gt arr 4 5 4 6 6 7 2 3 1 1 gt gt gt arr sort key lambda x x 0 statement 1 gt gt gt arr 1 1 2 3 4 5 4 6 6 7 gt gt g
  • CSS 在背景图像上模糊,但在内容上不模糊 [重复]

    这个问题在这里已经有答案了 I did 这个例子 我试图模糊背景图像 但主要内容也模糊了 span 如何在不模糊内容的情况下模糊背景 jsfiddle blur bgimage overflow hidden margin 0 text a
  • 如何用mongoosastic+AJAX进行即时搜索?

    我已经成功配置了 mongoosastic 我尝试搜索并且工作正常 但是当涉及到前端时我不太确定如何实现这一点 我尝试了很多方法但无法想出一个好的解决方案 这是代码 For the Search API router post api se
  • 从 VBA 执行 SQL Server 存储过程并检索所有消息和结果集

    我希望能够从 MS Access VBA 执行 SQL Server 存储过程 这样我就可以读取 1 所有结果结果集 而不仅仅是第一个结果集 2 由 PRINT 语句或类似语句产生的任何消息 我有一个带有一个输入参数的测试存储过程 它会生成
  • 如何让 MySQL 在查询中提示输入值? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我在 MySQL 控制台中对一些 SQL 查询进行了大量的试验和错误 例如 select
  • 查询生成器在字段类型数组上添加条件

    我的问题很简单 是否可以使用原则和查询生成器在字段类型数组上添加 where 语句 在我的实体内 我有以下内容 var array ORM Column name weekDays type array private weekDays 在
  • PHP 世博会推送通知

    我正在尝试使用 PHP 向我的 React Native 应用程序发送推送通知 下面的代码也发送了所有注册其令牌的用户 并且它一次发送了大量通知 尽管该令牌适用于特定设备 但它不断将通知推送给所有用户 key ExponentPushTok
  • 在 mongoose/mongodb/node 中使用异步回调循环

    我是 nodejs mongo mongoose 的新手 我正在尝试做一件非常简单的事情 我有以下架构 var authorSchema mongoose Schema name String Author mongoose model A
  • DrawingArea无法获取XID

    我有以下 Python 2 7 PyGObject 3 0 PyGST 0 10 模块 from gi repository import Gtk Gdk GdkPixbuf import pango import pygst pygst
  • 使用 WPF C# 打印

    我的应用程序将屏幕上显示的信息 使用 Canvas 控件 打印 到打印机 N 次 过程是 用户单击一个按钮 称为 打印 用文本更新画布 通常来自数据库 但对于下面的代码 它是硬编码的 打印到打印机使用新文本更新画布 同样来自数据库 但对于下
  • 在 React 中,本机“adb”不被识别为内部和外部命令

    我尝试在环境变量中设置路径 但它不起作用 错误如下 adb 不被识别为内部或外部命令 可运行的程序或批处理文件 启动应用程序 C Users Administrator AppData Local Android Sdk platform
  • j2me - 如何创建主从 UI

    我陷入了 j2me 项目的中间 因为我不知道如何做一些在其他平台上很容易完成的事情 但这似乎在 java me j2me 中没有直接的解决方案 我需要做的是这个 无论是使用Netbeans MIDP组件 LWUIT还是纯lcdui都没关系
  • C# MySql 创建用户

    我试图用 C 来做一个注册声明 显然我没能做到 我不知道问题是什么 话虽如此 这里是一个片段 MySqlConnection Connection new MySqlConnection SERVER localhost UID root
  • JComponent 一旦离开屏幕就停止渲染

    我正在尝试制作一个简单的动画 其中一个矩形从屏幕开始 在屏幕右边缘的右侧 并向左移动 因此 在本例中 我的框架的宽度为 1000 墙壁的 x 值为 1100 显然 首先 矩形不应该是 我们可见 但当矩形向左移动时 它最终应该变得可见 然而
  • 如何将 CF_DIBV5 从剪贴板 (Format17) 转换为透明位图?

    GDI 不支持CF DIBV5格式但是当多个应用程序将透明图像放入它们使用的剪贴板时CF DIBV5 格式 17 保持 Alpha 通道的格式 NET Framework 无法处理CF DIBV5格式 以便 NET 应用程序无法将 Alph
  • 等待订阅完成

    我有一个简单的场景 我想将从服务返回的数组存储到类变量中 在存储数据之前如何等待数据可用 如果我等待一定时间 使用 settimeout 进行测试 它就可用 Service public getEventHistory Observable
  • URL会话错误

    我正在使用一个实际上是为 swift 2 编写的函数 我已经对 swift 3 进行了审核 但我不断收到错误 URLSession 生成 不是预期的上下文结果类型 URL会话 我的代码如下所示 func downloadItems let
  • 获取新票然后重试第一个请求

    Update 我扩展 Http 类 当我deleteDocument 我想要处理错误getTicket 然后重试ma请求deleteDocument 与新的this TICKET Injectable export class HttpSe
  • 如何从非 OSGi 应用程序调用 OSGi 应用程序,反之亦然

    我正在考虑使用 OSGi 编写一组新的应用程序 但它们需要与现有的非 OSGi 应用程序进行大量交互 需要澄清的是 新的应用程序将需要调用其他团队维护的现有非 OSGi 代码库 通常是不同协议的专有服务 而新的非 OSGi 应用程序将需要调