Sun 的 GlassFish 拥抱 Spring

工程 | Rod Johnson | 2007年2月16日 | ...

如今,Sun 认真对待开源,用户似乎也开始认真对待 Sun 的开源了。

GlassFish 虽然后进入开源应用服务器领域,但似乎正在获得认可。更重要的是,它实际上相当不错。Interface21 的几位成员,包括 Costin 和 Juergen,都考察了 GlassFish 并表示赞赏(尽管我们尚未在生产环境中使用过它)。据我所闻,其性能非常出色——这很可能很大程度上归功于基于 NIO 重构的 Servlet 引擎。JPA 实现 TopLink Essentials 也应该表现良好,因为它基于成熟且高性能的 TopLink 引擎。

GlassFish 已经有实际被采用的证据:例如,著名的澳大利亚酒店预订服务 Wotif.com 就是一个例子。根据我最近澳大利亚之行的经历,Wotif 是那种普通人(而不仅仅是技术人员)会谈论的网站,就像 eBay 和 lastminute.com 一样。

当然,Wotif.com 也在使用 Spring。我认为 Sun 在企业 Java 领域变得更加重要的部分原因是,他们现在更能融入更广阔的世界,并且愿意采纳并响应外部意见。

因此,Sun 已经在多个领域(尤其是在 Web 服务堆栈中)为 GlassFish 提供 Spring 支持。这尤其有趣,因为 GlassFish 的 Web 服务部分(自然地)是 RI。

GlassFish 开发者 Kohsuke Kawaguchi 最近在其博客中谈到了 JAX-WS 堆栈中的 Spring 支持。这非常棒,因为它通过提供一个 Spring 2.0 命名空间处理器来实现。请注意,同时使用了 JAX-WS 命名空间和核心 Spring Beans 命名空间,允许将 Spring Bean 定义与 JAX 特定配置混合。


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:ws= "http://jax-ws.dev.java.net/spring/core"
       xmlns:wss="http://jax-ws.dev.java.net/spring/servlet" ...>

  <wss:bindings id="jax-ws.http">
    <wss:bindings>
      <wss:binding url="/stockQuote">
        <wss:service><!-- nested bean is of course fine -->
          <ws:service impl="foo.MyService">
            <ws:handlers>
              <ref bean="myHandler" />
            </ws:handlers>
          </ws:service>
        </wss:service>
      </wss:binding>
    </wss:bindings>
  </wss:bindings>

  <bean id="myHandler" class="foo.MyHandler" />
</beans>

这与 Spring remoting 的方式相反,后者是 remoting 技术基本调用 Spring,而不是 Spring 导出服务,但它的集成同样出色且易于使用。大概也可能导入其他 Spring 配置文件来利用现有的 Bean 定义。

Kohsuke 补充了一个有趣的观点:

由于 Spring 支持是开放式的,因此可以利用它来启用其他 JAX-WS 扩展。例如,我们可以使用它来配置 JMS 传输,或者配置 JSON 编码等。
现在,Web 服务端点可以直接利用 Spring 所提供的一切:所有配置功能、声明式服务和企业集成……

JAX-WS RI 的 Spring 集成 文档 在这里。

Spring 支持在 GlassFish 社区似乎广受欢迎。我们也希望听到 Spring 社区的反馈。您希望在 GlassFish 中看到哪些集成功能?WebLogic 中已发布的一些集成功能,如增强的事务管理和 JMX/控制台集成,可能是一个不错的起点。

当然,我们在 Spring 2.0 中已经为 JPA 和 TopLink Essentials(GlassFish 中的 JPA RI 和持久化引擎)做了很多工作。Mike Keith,EJB 3.0 联合负责人、TopLink 核心开发者和 ORM 方面的全能专家,提供了极大的帮助,我们发现整个 TopLink 团队反应迅速。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有