【问题标题】:Disable TLD scanning at appengine initialization在 appengine 初始化时禁用 TLD 扫描
【发布时间】:2013-07-10 18:35:09
【问题描述】:

此线程类似于:Disable taglib scanning in google app engine (Jetty)

该帖子的作者接受了错误的答案。

我们试图减少我遇到 taglib TLD 类路径扫描的实例的 appengine 启动时间。

我的应用程序有 50mb 的 jars。 tld 的扫描占用了启动时间的 20%:

(来自 Yourkit 的启动时间截图)。您还可以将 logger.properties 级别设置为 ALL,您将看到类路径扫描问题正在发生。

有没有办法在 appengine 上禁用它?上帝禁止我们与标签库、JSP 或类似的东西有任何关系!我们有一个非常流畅的速度 + spring-mvc 容器。

同样,问题非常清楚:appengine 不尊重 web.xml 中的“org.mortbay.jetty.webapp.NoTLDJarPattern”配置

这东西正在扼杀我们的服务!我们的启动时间已经超过 60 秒,我们需要采取任何措施来减少它。

【问题讨论】:

  • 您在 appengine 项目中提交过问题吗? code.google.com/p/googleappengine
  • 只是一种预感,但是您是否尝试过重命名您的 JAR 以匹配 AppEngine's webdefault.xml 使用的 NoTLDJarPattern?它不漂亮,但也许命名你所有的 JAR,例如jetty-(...).jar 有帮助。或者,将所有 JAR 重新打包到一个大 JAR 中,然后给它取一个 AppEngine 的 NoTLDJarPattern 涵盖的名称。
  • 菲利普,我没试过。我使用 maven 来打包我的项目,这样做似乎很棘手。你有没有尝试过?
  • Philipp,我刚刚完成了将所有罐子重命名为“jetty-”的技巧。非常感谢你的建议。让我们看看它是否改变了什么。我的模块仍然需要 18 秒才能启动 :(
  • @PhilippReichard 似乎有效。该模块始终在 13-15 秒时启动,而之前是 20 秒。

标签: java google-app-engine jetty taglib appengine-maven-plugin


【解决方案1】:

从上面发布我的评论作为答案:

重命名您的 JAR 以匹配 AppEngine's webdefault.xml 使用的 NoTLDJarPattern

这并不漂亮,但命名所有 JAR,例如jetty-(...).jar 应该防止它们被扫描 TLD。

或者,将所有 JAR 重新打包到一个大 JAR 中,然后给它取一个 AppEngine 的 NoTLDJarPattern 涵盖的名称。

【讨论】:

    猜你喜欢
    • 2016-05-30
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 2013-06-04
    相关资源
    最近更新 更多