我在使用在码头服务器上运行的泽西应用程序时遇到问题,这个应用程序最多需要30秒才能启动。我不知道是什么导致了这种行为,我不确定如何调试它。
在对其中一个服务发出第一个HTTP请求之前,不会启动Jersey。完成第一个请求后,将打印以下内容:
INFO: Initiating Jersey application, version 'Jersey: 1.3 06/17/2010 04:53 PM'
之后,通过5到45秒,然后泽西打印出有关它找到的资源的信息并回复HTTP请求。
首先,我想强迫球衣开始,当应用程序的其余部分开始作为黑客来解决这个问题,直到找到罪魁祸首。有没有办法做到这一点,而不模拟对jetty的实际HTTP请求?
其次,我很难过如何调试它。我检查了服务类中的构造函数,但它们似乎并不负责。有没有人和球衣有类似的问题?
答案 0 :(得分:0)
您可以在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就是这么做的,可能需要一段时间。