jjzjj

java - 私有(private)包裹的处理方式是什么?

我已经使用OSGi有一段时间了,但我仍然不了解私有(private)包。导出的包是对其他包可见的包导入的包是由导出包的bundle导入的包。私有(private)包是对其他包不可见的包(我不明白)不是所有未导出的bundle对所有其他包都不可见吗?如果是这样,私有(private)包和不导出的包有什么区别?我已经阅读了OSGiinAction和“OSGi和ApacheFelix3.0-初学者指南”,但我无法找到其中的区别。 最佳答案 没有区别。Export-Package中未列出的任何包都是私有(private)的……仅此而已。您可

java - 如何部署 OSGi 应用程序和依赖项?

通过不将数十个JAR依赖项包装到lib目录中,OSGi似乎有一个很好的好处,即拥有小型可部署工件。但是,我找不到任何可以告诉我将依赖项部署到容器的简单、可靠的方法。例如,我有一个使用CXF和几个Spring子项目的应用程序。如果我需要将此应用程序部署到新的Glassfish服务器,那么确保安装所有依赖项的最佳方法是什么?我正在使用Maven,似乎可能有一些方法可以有一个Hook来查看META-INF/maven目录并从pom.xml中提取依赖项列表然后去获取所需的库(可能来自本地仓库)。有没有办法做到这一点?Pax插件听起来像是在这样做,但它似乎是基于对Felix容器的增强?这不是我想

java - 如何部署 OSGi 应用程序和依赖项?

通过不将数十个JAR依赖项包装到lib目录中,OSGi似乎有一个很好的好处,即拥有小型可部署工件。但是,我找不到任何可以告诉我将依赖项部署到容器的简单、可靠的方法。例如,我有一个使用CXF和几个Spring子项目的应用程序。如果我需要将此应用程序部署到新的Glassfish服务器,那么确保安装所有依赖项的最佳方法是什么?我正在使用Maven,似乎可能有一些方法可以有一个Hook来查看META-INF/maven目录并从pom.xml中提取依赖项列表然后去获取所需的库(可能来自本地仓库)。有没有办法做到这一点?Pax插件听起来像是在这样做,但它似乎是基于对Felix容器的增强?这不是我想

java - 模块化网络应用

我最近一直在研究OSGi,认为对于模块化Java应用程序来说,这似乎是一个非常不错的主意。但是,我想知道OSGi如何在Web应用程序中工作,而您不仅仅需要担心代码-HTML,图像,CSS之类的事情。在工作中,我们正在构建一个具有多个“标签”的应用程序,每个标签都是应用程序的一部分。我认为这可以从采用OSGi的方法中真正受益-但是我真的不确定什么是处理所有常规Web应用程序资源的最佳方法。我不确定这是否有任何区别,但是我们使用的是JSF和IceFaces(这又增加了另一层问题,因为您具有导航规则,并且必须在web.xml中指定所有faceconfig文件...Doh!)编辑:根据this

java - 模块化网络应用

我最近一直在研究OSGi,认为对于模块化Java应用程序来说,这似乎是一个非常不错的主意。但是,我想知道OSGi如何在Web应用程序中工作,而您不仅仅需要担心代码-HTML,图像,CSS之类的事情。在工作中,我们正在构建一个具有多个“标签”的应用程序,每个标签都是应用程序的一部分。我认为这可以从采用OSGi的方法中真正受益-但是我真的不确定什么是处理所有常规Web应用程序资源的最佳方法。我不确定这是否有任何区别,但是我们使用的是JSF和IceFaces(这又增加了另一层问题,因为您具有导航规则,并且必须在web.xml中指定所有faceconfig文件...Doh!)编辑:根据this

java - 获取 OSGi 包上下文的最佳技术?

我的OSGi项目中的每个包都有自己的BundleActivator,我认为这很正常。这会通过当前的BundleContext,这对于获取服务引用和诸如此类的东西很有用。但是,如何从包中的类中获取BundleContext?将它分配给BundleActivator中的公共(public)静态字段很糟糕,并将它作为参数传递也很糟糕。有没有更智能的方法? 最佳答案 你可以使用FrameworkUtil.getBundle(ClassFromBundle).getBundleContext()。见FrameworkUtilJavaDoc.

java - 获取 OSGi 包上下文的最佳技术?

我的OSGi项目中的每个包都有自己的BundleActivator,我认为这很正常。这会通过当前的BundleContext,这对于获取服务引用和诸如此类的东西很有用。但是,如何从包中的类中获取BundleContext?将它分配给BundleActivator中的公共(public)静态字段很糟糕,并将它作为参数传递也很糟糕。有没有更智能的方法? 最佳答案 你可以使用FrameworkUtil.getBundle(ClassFromBundle).getBundleContext()。见FrameworkUtilJavaDoc.

java - Spring Dynamic Modules - 它是一个活着的项目吗?

SpringDynamicModules-它是一个活跃的项目吗?例如here有信息“Spring将不支持任何进一步的版本作为OSGibundle。”。但是here有SpringDynamicModulesReferenceGuide,其中没有关于停止项目的信息。 最佳答案 虽然项目被移到了Eclipse,但它是死的比活着的还多。Pivotal已经放弃了该项目,这使得Eclipse更像是代码转储,而不是认真尝试创建一个开源项目。我不建议在它之上构建。 关于java-SpringDynami

java - Spring Dynamic Modules - 它是一个活着的项目吗?

SpringDynamicModules-它是一个活跃的项目吗?例如here有信息“Spring将不支持任何进一步的版本作为OSGibundle。”。但是here有SpringDynamicModulesReferenceGuide,其中没有关于停止项目的信息。 最佳答案 虽然项目被移到了Eclipse,但它是死的比活着的还多。Pivotal已经放弃了该项目,这使得Eclipse更像是代码转储,而不是认真尝试创建一个开源项目。我不建议在它之上构建。 关于java-SpringDynami

java - OSGi——这项技术有多成熟?

我有一个需求,我需要共享一些网络资源(jsp、html、js、images、css等)跨不同的基于Spring的Struts2应用程序。似乎OSGi可以用来实现这一点?有人可以指点一下如何使用OSGi实现这一目标吗?其次我想知道OSGi是否成熟到可以用于生产应用程序?提前致谢!编辑:我经历了this发布并且似乎人们能够跨Web应用程序共享Web包。唯一的区别是他们是用SpringMVC做的。我想知道这是否也可以通过Struts2应用程序实现?编辑2:我基本上不清楚以下几点:'shareable-bundle'(包含要共享的网络资源)是否会被打包成.war。如果是,那么最终的Web上下文