0

我对 Java EE 6 和 OSGI 概念还很陌生,我对此感到非常兴奋......

最令人兴奋的特性是执行时的动态依赖注入。

我已经看到了一些非常棒的演示,其中应用程序在激活或未激活捆绑包时进行 ajaxly 更新,我喜欢将应用程序解耦到模块中并在运行时更新它的方式......

其次,我对 XML 配置文件很无聊,我认为带有javax.inject和其他注释的 Java EE 6 是一件非常好的事情......

所以,我已经准备好开始在我的 web 应用程序中使用 OSGI,但首先我需要一些信息..

我找不到明确的 OSGI 进度状态 - Java EE 容器中的 CDI 集成。

(gf-cdi-osgi-集成/osgi-cdi/osgi-cdi-api)

我认为这个问题也调用了weld-osgi。

  1. 最新的 glassfish 3.1.2.2 是否支持 OSGI 的 CDI 注释,如 @OsgiService 和 @Publish ?还是会在未来的版本中发布?

(我已经看到使用 @OsgiService 和 maven depenmdancy 的示例似乎启用了这个注释,但现在没有关于 @Publish ......)

1bis - Jboss AS 是否支持该功能?哪个 Java EE 容器与 OSGI 的集成度最好?

  1. 什么是 fighterfish (Oracle),它与 ​​glassfish osgi 有关吗?

  2. 所以基本上,如果我现在想与 cdi 和 osgi 开发战争,我需要哪个 env

    (服务器 - 版本 - 插件)

  3. 此外,需要哪些 maven 依赖才能使用 @publish 和 @osgiservice

  4. 只是为了澄清一点,如果我接受 hibernate lib 打包在我的 war / wab 中并且不会作为捆绑包提供,我可以在我的项目中使用 hibernate 和 OSGI

    对于其他任何库,同样的问题...

感谢您的时间和解释,顺便说一句,我已经阅读了很多论坛和博客https://github.com/tangyong/gf-cdi-osgi-integration 例如,我只需要明确回答我的问题:)

4

3 回答 3

2

Glassfish 已经支持在 OSGi 包中使用 Java EE 注释。下面的文档显示了我认为已经可以完成的工作,这令人印象深刻。其中支持@OsgiService。

http://glassfish.java.net/public/GF-OSGi-Features.pdf

于 2012-10-17T05:50:54.677 回答
2

Apache Karaf 现在还通过使用pax-cdi项目支持 CDI。

在 ops4j 的邮件列表线程中, Harald Wellman 描述了如何在 karaf 上使用 pax cdi。这对我来说很好。即将推出的 karaf 3.0.0 将 pax cdi 包含在企业功能中,因此安装将只是“feature:install cdi”。

启动 Apache Karaf 3.0.0.RC1

feature:repo-add mvn:org.ops4j.pax.cdi/pax-cdi-features/0.4.0/xml/features
install mvn:org.apache.xbean/xbean-bundleutils/3.12
feature:install pax-cdi-openwebbeans
install mvn:org.ops4j.pax.cdi.samples/pax-cdi-sample1/0.4.0
start org.ops4j.pax.cdi.sample1

所以我们可以检查这个例子是否有效:

services org.ops4j.pax.cdi.sample1

OPS4J Pax CDI Sample1 (153) provides:
------------------------------------
[org.ops4j.pax.cdi.sample1.impl.VanillaService,
org.ops4j.pax.cdi.sample1.IceCreamService]
[org.ops4j.pax.cdi.sample1.IceCreamService]
[org.ops4j.pax.cdi.spi.CdiContainer]
于 2013-11-11T09:43:22.080 回答
1

JBoss AS7 的未来版本(不幸的是我没有日期)将包括新的焊接 osgi(http://in.relation.to/Bloggers/NotOneTwoWeldReleases1110FinalAnd120Beta1),它可能会满足您的需求。至于 GlassFish,我不希望很快在那里看到焊接 1.2.x 版本:(

于 2012-10-16T17:09:45.717 回答