我真的很想使用 SpringSource dm Server,但我们的客户要求我们在他们的应用程序服务器(Websphere)上运行我们的应用程序。有没有办法将 SpringSource dm Server 与其他应用程序服务器集成?至少 dm Server 是基于 OSGi 构建的,许多其他应用服务器(包括 Websphere)也是基于 OSGi 的。是否可以将 SpringSource dm 服务器作为 websphere 组件运行?
4 回答
Spring DM 部署在 Knoplerfish OSGi 实现上。
Websphere 部署在 Equinox OSGi 实现上。
所以问题就变成了——这两者可以互换吗?他们都支持 R4,所以我会说,是的,他们是。
下一个问题是检查依赖关系,尤其是与 HttpServices 等相关的东西。
我会说这没问题,但我认为最终的证明是尝试部署它。最简单的方法是将捆绑包放入 Websphere 部署中。您将需要您的捆绑包以及您正在使用的任何弹簧捆绑包。
SpringSource dm Server 基于 Eclipse Equinox OSGi 框架(不应与包含在 dm Server 中的 Spring DM 技术混淆,后者可以在 Equinox、Apache Felix 和 Knopflerfish 上运行)。
但是,将 dm Server 嵌入到基于 Equinox 的另一个应用程序服务器(例如 WebSphere Application Server)中将是一项不平凡的工作。有必要让这两个产品使用相同版本的 Equinox,他们目前没有,然后修改 dm Server 以支持嵌入到服务器中(例如,与主机服务器的应用程序调用机制、线程池和类加载集成)方案)。
如果您认为这种支持很重要,请向 dm Server提出要求(需要简单的注册)。
我不认为这是真的……
请参阅以下链接:http ://apsblog.burtongroup.com/2008/11/websphere-7-osgi.html
但另一方面,趋势似乎很明显……基于 OSGI 的应用程序可以部署在 Java EE 应用程序服务器上。
我也对这个话题很感兴趣。看待这个问题的另一种方法是,您希望在 Spring dm 服务器和传统应用服务器(Websphere、weblogic、JBoss,...)中都可以部署应用程序。
OSGi 容器可嵌入到非 OSGi 应用程序中,因此理论上可以将应用程序部署到 Spring dm 服务器,并将同一个应用程序 + OSGi 容器部署到传统应用程序服务器。
现在,像往常一样,魔鬼在细节中,包括 Web 开发和外部应用程序服务器和 OSGi 容器之间的桥接 servlet 等主题。