java - 在嵌入式 Jetty Web 容器中运行 OSGi 容器。可能的?

标签 java jetty osgi

从事一个运行嵌入式 Jetty 网络服务器及其基础设施的项目。我们正在考虑添加一个新的 Web 应用程序,该应用程序将从允许使用 OSGi 插入 View 中获益匪浅。 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 对我们来说根本不是一个选择,因为我们必须使用现有的部署。

最佳答案

您应该能够通过 org.osgi.framework.launch.FrameworkFactory 嵌入任何 4.2 兼容的框架。类(class)。如果你用谷歌搜索,有几个很好的例子,两个很好的例子在 Felix site 上。 , 和 Neil Barlett's blog .

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

虽然您的 Vaadin 应用程序将是动态的 - Jetty 或嵌入应用程序中的任何内容都将是动态的(即域实体、服务等)。

关于java - 在嵌入式 Jetty Web 容器中运行 OSGi 容器。可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433521/

相关文章:

java - 删除行后如何保证连续数字字段的列?

java - 为什么即使我没有更改或设置任何值,全局列表也会受到影响?

java - jetty 8多部分/表单数据请求

java - 启动 Jetty 服务器时扫描条目 "module-info.class"时出错

java - 使用在后台运行的 REST Web 服务的 OSGi 网站

java - 将数组从 Java 传递到 Oracle : java. sql.SQLException:无法转换为内部表示:错误

java - 在 Jetty 中设置 JDBC 身份验证

java - 导出特定 java 版本的可部署功能

java - OSGI:如果使用的类在私有(private)包中,如何创建对象

java - 从逗号分隔的文本文件中读取数组