如何将SpringSource dm服务器集成到另一个基于OSGi的应用服务器中?
我真的很想使用SpringSource dm Server,但我们的客户要求我们在其应用程序服务器(Websphere)上运行我们的应用程序。有没有一种方法可以将SpringSource dm Server与其他应用程序服务器集成?至少dm Server建立在OSGi上,许多其他应用程序服务器(包括Websphere)也都基于OSGi。是否可以将SpringSource dm Server作为Websphere组件运行?
解决方案
Spring DM部署在Knoplerfish OSGi实现上。
Websphere部署在Equinox OSGi实现上。
因此,问题就变成了两者可以互换吗?他们都支持R4,所以我会说,是的。
下一个问题将是检查依赖性,尤其是在诸如HttpServices之类的方面。
我会说这可以,但是我认为最后的证明是尝试部署它。最简单的方法是将捆绑软件放入Websphere部署中。我们将需要捆绑包以及我们正在使用的任何弹簧捆绑包。
我认为情况并非如此...
请参见以下链接:http://apsblog.burtongroup.com/2008/11/websphere-7-osgi.html
但另一方面,趋势似乎很明显……有时可以在Java EE应用程序服务器上部署基于OSGI的应用程序
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提出要求(要求简单注册)。
我对这个话题也很感兴趣。解决此问题的另一种方法是,我们希望将应用程序同时部署在Spring dm服务器和传统应用程序服务器(Websphere,weblogic,JBoss等)中。
OSGi容器可嵌入非OSGi应用程序内部,因此从理论上讲,可以将应用程序既部署到Spring dm服务器,又将同一app + OSGi容器部署到传统应用程序服务器。
现在,像往常一样,细节在其中,其中包括Web开发以及在外部应用程序服务器和OSGi容器之间桥接Servlet的主题。