2.9. RESTEasy/Jakarta Enterprise Beans 集成


要将 RESTEasy 与 Jakarta 企业 Beans 集成,请将 Jakarta RESTful Web 服务注释添加到您要公开为 Jakarta RESTful Web Services 端点的 Jakarta 企业 Beans 类。您还可以对 bean 的业务界面应用注释。有两种方法可以将 bean 作为端点激活:

  • 使用 web.xml 文件:
  • 使用 javax.ws.rs.core.Application.

要使 Jakarta 企业 Beans 成为 Jakarta RESTful Web Services 资源,请使用 Jakarta RESTful Web Services 注释给无状态会话 @Remote 或 @Local 接口标注:

@Local
@Path("/Library")
public interface Library {
   @GET
   @Path("/books/{isbn}")
   public String getBook(@PathParam("isbn") String isbn);
}
@Stateless
public class LibraryBean implements Library {
...
}
注意

请注意,L ibri 接口 使用完全限定名称引用,而 LibraryBean 仅通过简单的类名称来引用。

然后,使用 RESTEasy web.xml 文件中的 resteasy.jndi.resources 上下文参数手动使用 RESTEasy 注册 Jakarta Enterprise Beans:

<web-app>
   <display-name>Archetype Created Web Application</display-name>
   <context-param>
      <param-name>resteasy.jndi.resources</param-name>
      <param-value>java:module/LibraryBean!org.app.Library</param-value>
   </context-param>
   <listener>
      <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
   </listener>
   <servlet>
      <servlet-name>Resteasy</servlet-name>
      <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
   </servlet>
   <servlet-mapping>
      <servlet-name>Resteasy</servlet-name>
      <url-pattern>/*</url-pattern>
   </servlet-mapping>
</web-app>

您还可以为 resteasy.jndi.resources 上下文参数指定多个 Java 命名和目录接口名称,即 Jakarta Enterprise Beans(用逗号分开)。

将 Jakarta EE 标准激活为 RESTEasy 端点的 Jakarta EE 标准方法是使用 javax.ws.rs.core.Application。这可以通过将 Jakarta Enterprise Beans 实施类包含在应用的 getClasses() 方法返回的集合中来实现。此方法不需要在 web.xml 文件中指定任何内容。

如需演示 RESTEasy 与 Jakarta Enterprise Beanss 集成 的 RESTEasy 集成,请参阅 JBoss EAP 附带的 kitchensink、helloworld-html5 和 managed-executor-service 快速入门。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.