【问题标题】:JAX-WS - Service Implementation as a POJOJAX-WS - 作为 POJO 的服务实现
【发布时间】:2011-07-11 11:00:16
【问题描述】:

我正在阅读有关使用 jax-ws 作为 java 6 的一部分构建soap服务的内容。我读到客户端可以调用的操作可以在 SEI 或服务端点接口中定义。这些操作可以由 SIB 实现,也就是“服务实现 Bean”。困扰我的部分是,根据this book 的第 4 页,这个 SIB“可以是 POJO 或无状态会话 EJB”。相同的定义适用于wikipedia。然而,我读到 POJO(根据维基百科)是“一个普通的 Java 对象,而不是一个特殊的对象,它不遵循任何主要的 Java 对象模型、约定或框架,例如 EJB ”。因此遵循我的问题,我怎么知道我的 SIB 是 POJO?此外,通过 POJO 或无状态会话 EJB 实现我的 Web 服务操作有什么区别?

【问题讨论】:

    标签: java jax-ws pojo


    【解决方案1】:

    EJB 3.0 引入了允许任何 POJO 成为无状态会话 bean 的注释。因此,“[a SIB] 可以是 POJO 或无状态会话 EJB”这句话适用于 EJB 3.0 之前的无状态会话 bean(例如 EJB 2.1)。您现在可以将您的 SIB 编写为 POJO——也就是说,无需扩展任何其他类或实现您自己没有编写的任何特殊接口。但是,如果您想使用 EJB,您仍然需要一个 EJB 容器,例如 WebLogic Server、IBM WAS 或 jBoss。

    【讨论】:

      【解决方案2】:

      在我看来,ejb 相对于 ejb 的 POJO 分发能力的最大优势在于,像 CMP 这样的 ejb 存在很多功能。

      你用java编写的任何类都是POJO,换句话说,如果你的实现是一个java类,那么它就是一个POJO。

      POJO 术语的出现是为了表示不需要特殊的类类型,这是 java EE 世界所需要的,因为 java EE 中有很多特殊的类。

      关于 ejb 相对于 POJO 的优势之一,您可以阅读以下文档:http://lass.cs.umass.edu/~shenoy/courses/spring11/lectures/Lec24.pdf

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多