首页IT科技spring文件服务器(SpringSource新应用服务器发布 摒弃Java EE)

spring文件服务器(SpringSource新应用服务器发布 摒弃Java EE)

时间2025-05-04 23:50:57分类IT科技浏览2927
导读:……我们从根本上说并不打算把Spring用户社区驱赶到任何方向。我们仅仅是给用户另一种选择。Spring的哲学是用户总是正确的。用户是聪明的,他们完全明白自己的需要。不管用户是否选择SpringSource应用平台,我们觉得用户总会欢迎多一点选择的……Java EE 6重点在模块性,这个方向是正确的。很可能SpringSource...

……我们从根本上说并不打算把Spring用户社区驱赶到任何方向          。我们仅仅是给用户另一种选择            。Spring的哲学是用户总是正确的    。用户是聪明的        ,他们完全明白自己的需要        。不管用户是否选择SpringSource应用平台              ,我们觉得用户总会欢迎多一点选择的……Java EE 6重点在模块性    ,这个方向是正确的             。很可能SpringSource应用服务器会在一定程度上符合Java EE 6      。Java EE 6分成A        、B              、C三种规格(profile)     。我们几乎肯定会实现A和B规格      ,C规格里面我非常确定将实现Entity Beans 1.1模型以及一些遗留技术              。我还不能说是100%确定              ,因为Java EE 6规范还没有定案        。传统的应用服务器模型正逐渐过时  。BEA和IBM正在用OSGi逐步重新实现他们的应用服务器              。 SpringSource现在就提供OSGi支持          。从统计数字上看       ,大多数人都不会部署到完整的平台上    ,他们部署到Tomcat。他们选择了Spring 编程模型而非Java EE            。市场已经作出了选择             ,问题只是开发者还要和服务器斗争多长时间            。

它是第一个建立在现代技术基础上的产品  。符合Java EE规范已经不是至高无上的目标          。干净的代码基础是我们的一项竞争优势            。我们在设计和实现中满足的是现今的需求          ,而不是10年前的需求    。 POJO编程是现在行业的方向所在        。过去POJO编程是被强行嫁接到其它产品上的             。在我们的产品中  ,POJO编程是设计的前提      。 SpringSource应用平台采用的OSGi技术是下一代技术的基础     。

……JPA和JMS都支持            ,但我们没有包含任何特定实现              。对于JPA            ,我们支持Hibernate    、 OpenJPA和Toplink        。我们在OSGi环境中增加了对加载时织入的支持,而且会尊重应用的边界          ,因此不会意外污染应用间共享的库  。不包括 JNDI              ,我们用OSGi Service Registry来取代它              。Servlets是通过内嵌的Tomcat来支持的          。JEE中有而SpringSource应用平台没有的东西包括 Entity Beans等等。这个平台引入了应用的概念  ,应用由一个或多个Bundle组成            。应用中的包有明确的作用域        ,可以防止发生应用间的冲突            。在应用把服务发布到OSGi service registry的情况下              ,防止冲突尤其重要    ,谁也不想见到服务之间发生冲突  。

我 们引入了Import-Library语句      ,因此在应用中使用第三方库变得更加简单          。你不需要再写一大串不直观的 Import-Package声明              ,Import-Library可以自动为指定的库引入所有必需的package            。像Hibernate JPA这样的库还可以跨多个Bundle       ,可见Import-Library确实物有所值    。

至于为了让Spring DM在平台中运行而进行的扩展    ,为数不多        。Spring DM掌控下的Bundle(Spring DM powered bundles)是包含META-INF/spring/*.xml文件的普通OSG Bundle             。Bundle启动的时候META-INF/spring/*.xml文件会自动成为该Bundle的 ApplicationContext      。Spring DM提供了一种机制让各Bundle通过Spring NamespaceHandler导入和导出服务     。

一个PAR(Platform ARchive)本质上是一组OSGi Bundle             ,通常其中有一部分是在Spring DM掌控下的              。这些Bundle共同组成了一个逻辑上的应用        。编程的时候完全是纯粹的OSGi      、Spring和Spring DM——PAR没有改变什么  。简单来说我们避免做这样的事              。Buddy类装载              、动态import       、require-bundle          ,这些我们都明确回避  ,因为维持一致的类空间太困难了          。我们也不会提供任何专有的替代机制。

相 反            ,我们给Equinox增加了一些低级的钩子            ,以实现典型的场景下的资源装载            。我们扩展了类装载来支持加载时织入,并且把装载语义丢到一边            。我们操纵 context classloader          ,让第三方一如既往地看到类  。PAR是其中的核心角色              ,因为它定义了上下文类装载以及加载时织入的可见范围          。

对于一些最糟糕的情况  ,我们会提供修补版的库        ,让它们能在OSGi中工作            。修补版的库可以通过SpringSource Enterprise Bundle Repository获得              ,我们的修改也会提交回相应的项目    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
关键词在线挖掘(关键词网站采集)