0

如何在启动期间禁用@Webservice 加载以节省 xfire 中的一些加载时间?

我有一堆带有@Webservice 注释的服务。它们都在启动过程中被加载并导致启动缓慢。如果我在开发实例中测试非服务,我不想加载这些。我想知道是否有办法通过设置系统属性或其他东西来禁用它。

4

1 回答 1

0

当然,在您配置 xfire servlet 的 web.xml 中:

<servlet>
    <servlet-name>xfire</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>-1</load-on-startup>
</servlet>

load-on-startup 的负值意味着 servlet 仅在容器“感觉像”时才被初始化,对于大多数容器来说,这意味着当第一个请求进入时。

从 servlet 规范:

load-on-startup 元素表明这个 servlet 应该在 Web 应用程序启动时被加载(实例化并调用它的 init())。这些元素的可选内容必须是一个整数,指示应加载 servlet 的顺序。如果该值为负整数,或者该元素不存在,则容器可以在选择时自由加载 servlet。如果该值为 128 正整数或 0,则容器必须在部署应用程序时加载并初始化 servlet。容器必须保证在标有大整数的 servlet 之前加载标有小整数的 servlet。容器可以选择加载具有相同加载启动值的 servlet 的顺序。

因此,请查阅您的 Web 容器的文档,以确保这在您的情况下具有预期的效果。

于 2012-05-22T07:21:47.040 回答