【问题标题】:How do I force Jersey to load it's services?如何强制 Jersey 加载它的服务?
【发布时间】:2011-11-02 21:22:47
【问题描述】:

我在使用 jetty 服务器上运行的 jersey 应用程序时遇到问题,该应用程序最多需要 30 秒才能启动。我不知道是什么导致了这种行为,我不确定如何调试它。

直到第一个对其服务的 HTTP 请求发出后,Jersey 才会启动。发出第一个请求后,将打印以下内容:

INFO: Initiating Jersey application, version 'Jersey: 1.3 06/17/2010 04:53 PM'

之后,经过 5 到 45 秒,然后 jersey 打印有关它找到的资源的信息并回复 HTTP 请求。

首先,我想强制 jersey 在应用程序的其余部分作为 hack 启动时启动,以解决这个问题,直到我找到罪魁祸首。有没有办法在不模拟对码头的实际 HTTP 请求的情况下做到这一点?

其次,我不知道如何调试它。我检查了我的服务类中的构造函数,他们似乎没有责任。有没有人在球衣上遇到过类似的问题?

【问题讨论】:

    标签: rest jetty


    【解决方案1】:

    您可以在 web.xml 中尝试以下操作:

    <servlet>
        <servlet-name>ServletAdaptor</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    

    我不知道为什么会有很长的延迟——也许它正在做某种形式的更新检查——你能监控来自你的应用程序的 http 流量吗? Glassfish 会这样做,但可能需要一段时间。

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 2011-11-07
      • 2015-02-10
      相关资源
      最近更新 更多