首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用OSGi模块化现有web应用程序

使用OSGi模块化现有web应用程序
EN

Stack Overflow用户
提问于 2011-04-07 21:14:37
回答 3查看 2.8K关注 0票数 4

我需要一个建议。我想模块化我现有的Java web应用程序。

我试着用maven来做这件事,结果还是行得通。

我设法在一个模块(“核心”)中分离了服务层,而其他两个web应用程序正在使用相同的核心模块。

现在我想用OSGi来尝试它,我想让OSGi参与模块化,这样我就可以在需要的时候使用它。

我这里有几个问题:

  1. 如何使用OSGi模块化我的应用程序的任何部分,如何开始?有很多示例可以从OSGi开始,但是没有一个是关于在现有的tomcat服务器上使用它的?我知道我需要一个OSGi容器(Equinox,Apache Felix,..)使用OSGi,但如何设置Tomcat和OSGi容器一起工作?

如果有人有什么建议,或者可以把我链接到一些有用的教程,

我将不胜感激。

提前谢谢你,

米洛斯。

EN

回答 3

Stack Overflow用户

发布于 2011-04-08 01:05:59

Stack Overflow用户

发布于 2013-03-07 20:50:45

使用OSGi需要深入了解所有的OSGi特性,特别是不同的类加载行为。您需要考虑OSGi是否真的对您的应用程序有好处。如果你广泛地使用Class.forName,你会遇到问题。还有许多第三方库不容易与OSGi一起使用。

因此,在对代码进行任何更改之前,一定要了解OSGi。我推荐OSGi in Depth和/或OSGi in Action这本书来学习和理解OSGi。

不要误会我的意思,OSGi是一种很好的技术,但它比乍一看要难得多。如果您的应用程序完全使用OSGi,则不需要Tomcat,OSGi容器是OSGi应用程序的运行时,Tomcat Server是另一个运行时环境。如果您需要与Tomcat Server通信,则可以使用JMS或其他类似工具。了解OSGi远程服务

票数 2
EN

Stack Overflow用户

发布于 2011-04-07 21:27:56

我推荐Spring Dynamic Modules (http://www.springsource.org/osgi)。它的优点是,您不必为OSGi的所有令人讨厌的细节而操劳,并且可以通过Spring IOC使用它。

即使您想要处理OSGi,也不意味着您必须让现有的应用程序支持OSGi。以下两个规范可以帮助您从OSGi接口中抽象出组件:

Spring蓝图声明性服务(请参见http://www.aqute.biz/Snippets/HelloWorldComponent)

  • OSGi (类似于
  1. DM)

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5581670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档