java - JAX-WS - 作为 POJO 的服务实现

标签 java jax-ws pojo

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

最佳答案

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

关于java - JAX-WS - 作为 POJO 的服务实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6649073/

相关文章:

java - 检查 BigDecimal 是否是 Java 中的整数

java - 结合 JAX-RS 和 JAX-WS

wsdl - WSP0075:策略断言“TransportBinding”被评估为“未知”。为什么?

java - 将 HOCON 字符串转换为 Java 对象

java - AWS、Lambda、Java、POJO、自定义 json 属性名称

java - 如何迭代 <String, POJO> 的映射?

Java 二进制文字 - 字节值 -128

java - 在控制台管理多个线程

java - 如何通过 Weld 获得Java SE中的ApplicationScoped生产者?

java - 具有重要名称的 WSDL 中的参数名称