我正在阅读有关使用 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/