嵌入式 Tomcat 7 比 Tomcat 6 慢

发布于 2024-12-29 15:24:38 字数 416 浏览 0 评论 0原文

我最近开始嵌入 Tomcat 7 进行集成测试,而不是 Tomcat 6,因为我需要 7 个功能中的一些功能,而且它是我们的目标容器。与嵌入式 Tomcat 6 相比,性能非常慢。启动服务器大约需要 20 秒。这是我正在使用的代码:

Tomcat tomcat = new Tomcat();
tomcat.setPort(port);
tomcat.setSilent(true);

tomcat.setBaseDir(".");
tomcat.getHost().setAppBase(webappDir);

tomcat.addWebapp(context, "");    
tomcat.start();

还有其他人经历过这种情况或得到了提高性能的建议吗?我正在 Windows 7、Linux Mint 和 Ubuntu 上运行测试。

I recently started embedding Tomcat 7 for my integration tests, rather than Tomcat 6 as I need some of the 7 features and it's our target container. Performance is very slow compared to Tomcat 6 embedded. It's taking in the order of 20 seconds to start the server. This is the code I am using:

Tomcat tomcat = new Tomcat();
tomcat.setPort(port);
tomcat.setSilent(true);

tomcat.setBaseDir(".");
tomcat.getHost().setAppBase(webappDir);

tomcat.addWebapp(context, "");    
tomcat.start();

Has anyone else experienced this or got suggestions for improving performance? I am running tests on Windows 7, Linux Mint and Ubuntu.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

败给现实 2025-01-05 15:24:38

也许由于 Servlet 3.0 基于注释的配置需要类路径扫描,所以速度很慢。如果您不需要这些功能,请尝试将 metadata-complete="true" 添加到 web.xml 中。

Perhaps it's slow due to classpath scanning which is required for annotation-based configuration of Servlet 3.0. If you don't need these features, try to add metadata-complete="true" to your web.xml.

征﹌骨岁月お 2025-01-05 15:24:38

这是它在 web.xml 标头中的实际外观:

<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true" id="WebApp_ID" version="3.0"...

此处有更多信息: Tomcat 和 Servlet 3.0 Web 配置

This is how it actually looks in web.xml header:

<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true" id="WebApp_ID" version="3.0"...

Some more info here: Tomcat and Servlet 3.0 Web Configuration

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文