问题标签 [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.
java - 移动 OSGi 是否已准备好在手机上实际使用?
我正在为移动设备开发应用程序。我从来没有为 OSGi 开发过,现在,我正在考虑开始使用它。
我读过很多关于在手机上使用 OSGi 的文章,据说它可以在 J2ME、Symbian、Windows Mobile、Android 上运行……但在我看来,目前似乎没有人在那里使用它。
我真的很想利用 OSGi 的许多好处,但我知道没有它我也能做到。而且我不想排除任何无法在手机上使用 OSGi 或者必须通过复杂的设置过程使他们的手机为 OSGi 做好准备的用户。
而且我简直不敢相信那些便宜的 J2ME 手机中的大多数都可以运行像 OSGi 这样复杂的东西。不是在谈论 1000 美元的智能手机,而是在谈论您可以从索尼爱立信以 100 美元(公平地说是 200 美元)购买的那些消费设备。
移动 OSGi 现在是真正的替代品,还是只是未来使用的一个很好的前景?
编辑: 到目前为止,只有一个答案,它表明我们离使用移动 OSGi 还很远。但对我来说,一个答案是做出重要决定的依据很少,所以我希望赏金能吸引更多读者。
如果没有更多的答案出现,那么这表明没有人有移动 OSGi 的经验,然后我会得出结论,我不想成为第一个探索它的人。通常我喜欢尝试新技术,但这次押错马是至关重要的。
osgi - OSGi r4.1 中的 ServiceTracker
我正在使用org.osgi.util.tracker.ServiceTracker
(PrintableServiceTracker 实现 ServiceTrackerCustomizer 并在添加新服务时简单地打印)。
我在新的电子书“ OSGi in action ”中读到了“伪注册”,我想知道我是否必须明确地进行伪注册,或者框架是否会自动处理?
(ServiceTracker 是否会捕获已安装的 Printable 服务。是否会为每个预安装的 Printable 服务调用 ServiceTracker.addingService(ServiceReference))
java - 使用 Web Start / JNLP 动态加载额外的 jar 文件
Web Start 开发人员指南指出
所有应用程序资源都必须从 JNLP 文件的资源部分中指定的 JAR 文件中检索,或者使用对 Web 服务器的 HTTP 请求显式检索。
建议将资源存储在 JAR 文件中,因为它们会被 Java Web Start 缓存在本地机器上。
现在,我想要在我的应用程序启动后动态加载一些资源(例如 OSGi 包)。我可以使用纯 HTTP 来做到这一点,但我想利用 Web Start 对本地缓存和特定于版本/架构的资源的支持。
有没有办法使用 Web Start 基础设施从原始代码库(在应用程序的 jnlp 文件中指定)下载额外的 jar 文件?
或者:是否已经有一种整合 OSGi 和 Web Start 的既定方法可以减轻我从 Web Start 服务器安装包的任务?
obfuscation - 如何使用 ProGuard 混淆 OSGi 包?
我目前正在尝试使用 ProGuard 混淆我的 Eclipse RCP 应用程序。问题在于它混淆了包名(My.Package.Class 类变成了类似 abc),但将包名保留在 MANIFEST.MF 的 Export-Package 部分。
这导致我的应用程序(实际上是一组 OSGi 捆绑包)无法运行,因为无法解析 MANIFEST.MFs 的 Export-Package 部分中指定的包名称。
ProGuard 混淆基于 OSGi 的 RCP 应用程序是否有人成功?基本上,我看到了两个选择:要么完全关闭包名称混淆,要么混淆 MANIFEST.MF 的 Export-Package 部分,但我找不到实现其中任何一个的方法。Proguard 似乎只混淆了 MANIFEST.MF 中的 Bundle-Activator 类名,跳过了所有其他部分。提前致谢!
hibernate - OSGi + 休眠
而不是将数据库操作分散在四个(osgi)包中,所有操作都略有不同。我想创建一个负责所有持久性问题的(简单)OSGi 包。我觉得这并不像听起来那么简单,因为“每个包的唯一类加载器”的事情。因此,如果有人知道此类问题的解决方案,我将不胜感激。
hibernate - Hibernate、JDBC-driver 和 OSGi 问题
我遇到了一个有点令人沮丧的问题。我使用 Apache Felix 作为我的 OSGi 框架,并且我还使用 Hibernate 来解决持久性问题。
我正在使用 Hibernate 的“osgi-bundle”版本(com.springsource.org.hibernate-3.2.6.ga.jar)。据我所知,这是 Hibernate Core,在 META-INF/MANIFEST.mf 中安装了一些额外的 osgi-metdata。此信息(Package-Export 和 Package-Import)对于 osgi 系统至关重要。
我的问题是 Hibernate 包找不到我的 JDBC 驱动程序。在springsource Hibernate bundle中加入Import语句感觉很不对劲。必须有一些更好的方法来解决这个问题。
java - 在 Eclipse 中获取所有捆绑包的捆绑包 []
我正在编写一个使用 Equinox 作为我的 OSGi 框架的应用程序。我正在尝试发现在我的捆绑包注册时已知的所有捆绑包。我尝试使用以下行来检索所有可用的捆绑包。然而,
EclipseStarter.getSystemBundleContext().getBundles();
给我一个警告...
不鼓励访问:由于对所需库 D:\java\eclipse\plugins\org.eclipse.osgi_3.4.0.v20080605-1900.jar 的限制,无法访问 EclipseStarter 类型的方法 getSystemBundleContext()
获取框架内所有可用捆绑包的列表的正确用法是什么?
java - OSGi 包的包结构
我一直在思考关于 osgi 包中包结构的“良好实践”。目前,我们平均每个捆绑包有 8-12 个类。我的一项倡议/建议是有两个包裹;com.company_name.osgi.services.api(用于与 api 相关的类/接口(外部导出)和一个包 com.company_name.osgi.services.impl 用于实现(未导出))。这有什么好处和坏处?还有其他建议吗?
java - OSGi 和 Java EE - JOSGiEE?
读完这篇文章后,我想到了一个问题:'OSGi 会变成 Java EE 吗?OSGi 会取代 Java EE 吗?OSGi 是否在增加 Java EE?确实,从历史上看,OSGi 与 Java EE 完全不同,但现在考虑到 EEG 产生的工作,其中一些服务是 Java EE 服务。另一个事实是,使用 Java EE 的人将其用于其 API,这与 OSGi 相矛盾,OSGi 应该与 API 无关。
我不知道它会去哪里,你们呢?
java - Eclipse 扩展和声明式服务
我对 Eclipse 架构中的扩展/服务方法有点困惑。开发人员有两种选择:
- Eclipse插件扩展的使用——http: //www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html
- 声明式服务的使用 - http://www.eclipse.org/equinox/bundles/
什么时候你会使用一种方法,每种方法的优点和缺点是什么?还要继续前进,哪种方法是首选方法?