3

处理一个运行嵌入式 Jetty Web 服务器及其基础架构的项目。我们正在考虑添加一个新的 Web 应用程序,该应用程序将极大地受益于允许使用 OSGi 插入视图。Vaadin 是我们选择的 Web 框架。

在 GlassFish 中创建 OSGi 可插拔 Vaadin 应用程序有一个很棒的教程,其中 Web 容器和 OSGi 容器是桥接的。也就是说,Web 容器没有在 OSGi 容器中运行。这是教程:https ://vaadin.com/wiki/-/wiki/Main/Creating%20a%20Modular%20Vaadin%20Application%20with%20OSGi

我的问题是。是否可以按照本教程中描述的相同方式桥接嵌入式 Jetty Web 容器和 OSGi 容器。

在 OSGi 容器中运行 jetty 对我们来说根本不是一种选择,因为我们必须使用现有的部署。

4

2 回答 2

1

您应该能够通过org.osgi.framework.launch.FrameworkFactory类嵌入任何符合 4.2 的框架。如果你用谷歌搜索,有几个很好的例子,Felix 网站Neil Barlett 的博客上有两个很好的例子。

配置它需要更多的工作——你需要通过系统属性 org.osgi.framework.system.packages.extra 导出所有的 Jetty 和 servlet 包,并使用Felix fileinstall或控制台和pax-url来取消/部署包。

虽然您的 Vaadin 应用程序将是动态的 - Jetty 或嵌入应用程序将不会是动态的(即域实体、服务等)。

于 2012-05-03T19:42:35.060 回答
0

你能嵌入一个不同的容器吗?Eclipse Virgo 和 JBoss AS 都是 OSGi 和 J2EE 容器。

于 2012-05-03T15:03:31.777 回答