web server apache tomcat11-33-CDI

2024-05-07 10:20
文章标签 web apache server 33 cdi tomcat11

本文主要是介绍web server apache tomcat11-33-CDI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。

开源项目

从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。

系列文章

web server apache tomcat11-01-官方文档入门介绍

web server apache tomcat11-02-setup 启动

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

web server apache tomcat11-11-Jasper 2 JSP Engine

web server apache tomcat11-12-SSL/TLS Configuration

web server apache tomcat11-13-SSI

web server apache tomcat11-14-CGI

web server apache tomcat11-15-proxy

web server apache tomcat11-16-mbean

web server apache tomcat11-17-default-servlet

web server apache tomcat11-18-clusting 集群

web server apache tomcat11-19-load balance 负载均衡

web server apache tomcat11-20-connectors 连接器

web server apache tomcat11-21-monitor and management 监控与管理

web server apache tomcat11-22-logging 日志

web server apache tomcat11-23-APR

web server apache tomcat11-24-Virtual Hosting and Tomcat

web server apache tomcat11-25-Advanced IO and Tomcat

web server apache tomcat11-26-maven jars

web server apache tomcat11-27-Security Considerations

web server apache tomcat11-28-Windows Service

web server apache tomcat11-29-Windows Authentication

web server apache tomcat11-30-The Tomcat JDBC Connection Pool

web server apache tomcat11-31-websocket

web server apache tomcat11-32-rewrite

web server apache tomcat11-33-CDI

web server apache tomcat11-34-Ahead of Time compilation support

Tomcat 中添加 CDI 和 JAX-RS 支持指南

CDI 2 支持

CDI 2 支持由 modules/owb 可选模块提供。它打包了 Apache OpenWebBeans 项目,并允许将 CDI 2 支持添加到 Tomcat 容器中。该模块的构建过程使用 Apache Maven,并不作为二进制捆绑包提供,因为它是使用一些公开可用的 JAR 构建的。

构建 CDI 支持的过程如下:

cd $TOMCAT_SRC/modules/owb
mvn clean && mvn package

生成的 JAR 文件位于 target/tomcat-owb-x.y.z.jar(其中 x.y.z 取决于构建过程中使用的 Apache OpenWebBeans 版本),应通过 Jakarta EE 的 Tomcat 迁移工具处理,然后放置到 Tomcat 安装的 lib 文件夹中。

可以通过在 server.xml 中 Server 元素的嵌套中添加以下监听器来为容器中的所有 Web 应用程序启用 CDI 支持:

<Listener className="org.apache.webbeans.web.tomcat.OpenWebBeansListener" optional="true" startWithoutBeansXml="false" />

如果 CDI 容器加载失败,监听器将产生非致命错误。

也可以通过在 Server 元素的嵌套中的 webapp context.xml 文件中添加以下监听器来为单个 Web 应用程序启用 CDI 支持:

<Listener className="org.apache.webbeans.web.tomcat.OpenWebBeansContextLifecycleListener" />

JAX-RS 支持

JAX-RS 支持由 modules/cxf 可选模块提供。它打包了 Apache CXF 项目,并允许将 JAX-RS 支持添加到单个 Web 应用程序中。该模块的构建过程使用 Apache Maven,并不作为二进制捆绑包提供,因为它是使用一些公开可用的 JAR 构建的。此支持依赖于 CDI 2 支持,CDI 2 支持应已在容器或 Web 应用程序级别先前安装。

构建 JAX-RS 支持的过程如下:

cd $TOMCAT_SRC/modules/cxf
mvn clean && mvn package

生成的 JAR 文件位于 target/tomcat-cxf-x.y.z.jar(其中 x.y.z 取决于构建过程中使用的 Apache CXF 版本),然后应放置到所需 Web 应用程序的 /WEB-INF/lib 文件夹中。

如果 CDI 2 支持在容器级别可用,则该 JAR 文件也可以放置在 Tomcat lib 文件夹中,但在这种情况下,CXF Servlet 声明必须根据需要单独添加到每个 Web 应用程序中(通常由 JAR 中存在的 Web 片段加载)。应使用的 CXF Servlet 类是 org.apache.cxf.cdi.CXFCdiServlet,应将其映射到 JAX-RS 资源可用的所需根路径。

整个 Web 应用程序应通过 Jakarta EE 的 Tomcat 迁移工具处理。

Eclipse Microprofile 支持

ASF(Apache Software Foundation)提供了使用 CDI 2 扩展实现 Eclipse Microprofile 规范的工件。安装了 CDI 2 和 JAX-RS 支持后,它们将可供单个 Web 应用程序使用。

以下实现可用(参考:org.apache.tomee.microprofile.TomEEMicroProfileListener)作为必须添加到 Web 应用程序 /WEB-INF/lib 文件夹的 Maven 工件:

  • 配置:Maven 工件:org.apache.geronimo.config:geronimo-config,CDI 扩展类:org.apache.geronimo.config.cdi.ConfigExtension
  • 容错:Maven 工件:org.apache.geronimo.safeguard:safeguard-parent,CDI 扩展类:org.apache.safeguard.impl.cdi.SafeguardExtension
  • 健康:Maven 工件:org.apache.geronimo:geronimo-health,CDI 扩展类:org.apache.geronimo.microprofile.impl.health.cdi.GeronimoHealthExtension
  • 指标:Maven 工件:org.apache.geronimo:geronimo-metrics,CDI 扩展类:org.apache.geronimo.microprofile.metrics.cdi.MetricsExtension
  • 开放追踪:Maven 工件:org.apache.geronimo:geronimo-opentracing,CDI 扩展类:org.apache.geronimo.microprofile.opentracing.microprofile.cdi.OpenTracingExtension
  • OpenAPI:Maven 工件:org.apache.geronimo:geronimo-openapi,CDI 扩展类:org.apache.geronimo.microprofile.openapi.cdi.GeronimoOpenAPIExtension
  • REST 客户端:Maven 工件:org.apache.cxf:cxf-rt-rs-mp-client,CDI 扩展类:org.apache.cxf.microprofile.client.cdi.RestClientExtension
  • JSON Web 令牌:注意:仅供参考,在 Apache TomEE 外不可用;Maven 工件:org.apache.tomee:mp-jwt,CDI 扩展类:org.apache.tomee.microprofile.jwt.cdi.MPJWTCDIExtension

参考资料

https://tomcat.apache.org/tomcat-11.0-doc/cdi.html

这篇关于web server apache tomcat11-33-CDI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967075

相关文章

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事