tomcat 相关问题

使用此标记来解决有关Apache Tomcat(或简称Tomcat,以前也称为Jakarta Tomcat)的问题,它是由Apache Software Foundation(ASF)开发的开源Servlet容器。大多数问题还应包括指定操作系统的标记。

带有虚拟线程的 Apache Tomcat

我尝试使用以下配置在 Apache Tomcat 10.1.16 上使用虚拟线程: 我尝试使用以下配置在 Apache Tomcat 10.1.16 上使用虚拟线程: <Executor name="tomcatThreadPoolVirtual" class="org.apache.catalina.core.StandardVirtualThreadExecutor"/> <Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" useVirtualThreads="true" /> 但是当我发出请求时,我不在虚拟线程上:Thread[#76,Thread-14,5,main]。我也分析了我的应用程序,但没有使用虚拟线程。 如果我使用 Http11NioProtocol 而不是 Http11Nio2Protocol,所有请求都在虚拟线程上:VirtualThread[#65,http-nio-8080-virt-0]/runnable@ForkJoinPool-1-worker-1 <Executor name="tomcatThreadPoolVirtual" class="org.apache.catalina.core.StandardVirtualThreadExecutor"/> <!-- A "Connector" represents an endpoint by which requests are received org.apache.coyote.http11.Http11Nio2Protocol and responses are returned. Documentation at : HTTP Connector: /docs/config/http.html AJP Connector: /docs/config/ajp.html Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 --> <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" useVirtualThreads="true" /> Http11Nio2Protocol 不支持虚拟线程?有人遇到过这个问题吗? 是的,您的观察是正确的。从 Tomcat 10.1.16 开始,Nio2Endpoint 不会在虚拟线程上执行代码,而 NioEndpoint 则会执行。虽然 AbstractEndpoint(两者的共同超类)支持虚拟线程的使用,但 Nio2Endpoint.setSocketOptions 方法调用 AbstractEndpoint.processSocket,参数 dispatch 硬编码为 false,并带有注释:继续在同一线程上进行处理,因为接受器是异步的。我认为这与 NIO2 Tomcat Connector 的潜在异步性有关。有趣的是,它确实在虚拟线程上创建了它的 Acceptor,但我们不能从中受益匪浅。 我相信这是这个版本的 Tomcat 的一个简单错误,看看它是否在后续版本中得到修复或向他们报告是有意义的。 顺便说一句,可以覆盖 Tomcat 连接器实现,并且修复似乎非常简单,并且覆盖 - 微不足道。如果您被锁定到此版本的 Tomcat,并且您的工作线程的虚拟性质足够重要,请告诉我,我们可以尝试这样做。

回答 1 投票 0

如何在Tomcat 10.1中使用JSTL错误:jakarta.tags.core无法识别[重复]

我知道Tomcat v10.1,指的是以下规格: 小服务程序6.0 JSP 3.1 EL 5.0 所以我的 Gradle 依赖项是: 依赖项{ 仅编译“jakarta.servlet:jakarta.servlet-api:6.0....

回答 1 投票 0

Apache Tomcat 10.1 无法删除临时文件

我们刚刚将 Tomcat 从 9.0 升级到 10.1,将 Java 从 8 升级到 11。一切都运行良好,只是现在我们的临时文件堆积在 Apache Software Foundation\Tomcat 10.1\work\Catalina\loca...

回答 1 投票 0

是否可以在Tomcat中动态重新加载log4j.xml / log4j.properties文件?

问题是,每当您更改 log4j.properties/log4j.xml 时,您都需要重新启动 tomcat [或说任何其他服务器]。有没有重新加载 log4j 配置的解决方法?

回答 8 投票 0

Tomcat 10 在尝试从 ForkJoinPool 内的类路径加载资源时抛出 FileNotFoundException 错误

我想分享一个从 Java 8、Tomcat 8 和 Spring Boot 2 升级到 Java 17、Tomcat 10 和 Spring Boot 3 后开始发生的问题。 问题是现在我们无法再加载一些f...

回答 1 投票 0

升级到 Spring Boot 3 破坏了我的 SQL 查询

我正在将现有服务升级到 Spring Boot 3。这包括升级到 spring-boot-starter-data-jpa 3.15,这意味着升级到 Hibernate 6 和 Tomcat 10.1。我收到错误无效

回答 1 投票 0

如何设置`logging.properties`的客户处理程序的属性

在尝试为 Tomcat 添加自定义处理程序(使用 java.util.logging)时,我找不到添加自定义属性的方法。 例如。如何设置处理程序的 abc 属性的值? # 记录。

回答 1 投票 0

Eclipse 动态 Web 项目(目标运行时)Tomcat 11 不可用

Elicpse 目标运行时 我下载了 Java 21,因此下载了 tomcat 11,并且我想创建一个动态 Web 项目。现在想选择服务器。但是Oracle下没有Tomcat 11什么的...

回答 1 投票 0

在同一个 Tomcat 中调试 2 个 Web 应用程序

我正在寻找一种方法来部署 2 个不同的 webapp 项目(不在同一个 IntelliJ 窗口中打开)。我创建了 2 个不同的调试配置,它们都针对运行的同一个 tomcat

回答 1 投票 0

未找到合适的驱动程序 Postgres JDBC

当我在 tomcat 上测试 Web 服务时,收到“找不到合适的驱动程序”错误。我在 lib 文件夹中有 JDBC .jar,正如各种教程所说的那样。这是我的代码: 公开课

回答 1 投票 0

我无法登录 Tomcat Manager 应用程序

我在 stackoverflow 上阅读了很多主题来解决我的问题,但没有一个有用。 当我尝试使用很多不同的方式登录管理器应用程序([http://localhost:8080/manager/html][1])时

回答 11 投票 0

Tomcat 无法读取我的 context.xml 文件

我有以下问题: 我有 context.xml 文件,服务器无法通过 @Resource() 注入添加或使用类来读取该文件(请检查下面)。我正在使用 eclipse、Tomcat 9.0...

回答 0 投票 0

tomcat 10.1.16升级和java17升级以及spring 6.1.1后http响应缓慢

我已将我的java spring项目java版本从12升级到java 17,完全迁移到雅加达, 我还使用最新版本将 spring 版本升级到 6.1.1,显然将 tomcat 升级到 tomcat 10...

回答 1 投票 0

如何关闭Tomcat中的单个应用程序?

我想在我的网络应用程序中运行一些代码,以使应用程序停止。例如,如果数据库服务器不可用。 我想实现类似 App.exit() 的东西...

回答 2 投票 0

如何在 ServletContextListener 发生异常时中止 Tomcat 启动?

我有一个实现 ServletContextListener 的类,它在启动时加载一些资源。 这些资源对于应用程序至关重要,我希望整个启动失败......

回答 2 投票 0

配置加载失败时如何停止tomcat

我在启动tomcat时遇到此错误 从 catalina.out 登录 无法加载指定的配置位置文件:/ ....启动失败: 有没有办法让我的java代码引发这个错误并停止我的

回答 2 投票 0

如何在docker容器中优雅地关闭tomcat中的servlts?

到目前为止我发现了什么: “docker stop”向容器中 ID 为 1 的进程发送 SIGTERM。 容器中的进程ID 1是运行tomcat的java进程。*) 是的,tomcat自己关闭了...

回答 2 投票 0

我无法在eclipse中安装apache tomcat

在此输入图像描述 弹出上述错误 在此输入图像描述 以前我已经有 tomcat 10 并且工作正常。对于新项目,我想在 tomcat 9 中运行。但是…

回答 1 投票 0

Spring 的 GetMapping() 出现 Tomcat 错误“请求的资源...不可用”

我正在使用 Tomcat 10.1、Maven 和 Eclipse IDE 制作 Spring 应用程序。我运行我的应用程序并看到index.jsp,但是如果我输入路径“/refer”(来自GetMapping(“/refer”)),我想得到hello_wo...

回答 1 投票 0

HTTP 状态 500 – 有关 ServletUtilities 的内部服务器错误

我正在尝试在centos上使用Tomcat 10和jdk11制作Web服务。 但我收到 HTTP Status 500 – Internal Server Error,并显示 An error returned at line: [703] in the jsp file: [/index.jsp] 是

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.