使用基础架构运行嵌入式Jetty Web服务器的项目。我们正在考虑添加一个新的Web应用程序,该应用程序可以通过使用OSGi插入视图而受益匪浅。 Vaadin是我们选择的网络框架。
有一个很棒的教程,可以在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根本不适合我们,因为我们必须使用现有的部署。
答案 0 :(得分:1)
您应该能够通过org.osgi.framework.launch.FrameworkFactory类嵌入任何符合4.2的框架。如果你谷歌有一些很好的例子,Felix site和Neil Barlett's blog有两个好的例子。
配置它将需要更多工作 - 您需要通过系统属性org.osgi.framework.system.packages.extra导出所有Jetty和servlet包,并使用Felix fileinstall或控制台之类的东西和pax-url取消/部署捆绑包。
虽然您的Vaadin应用程序将是动态的 - 但Jetty或嵌入式应用程序都不会(即域实体,服务等)。
答案 1 :(得分:0)
你能嵌入一个不同的容器吗? Eclipse Virgo和JBoss AS都是OSGi和J2EE容器。