【问题标题】:Disable @Webservice loading during start up在启动期间禁用@Webservice 加载
【发布时间】:2012-05-22 06:29:20
【问题描述】:

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

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

【问题讨论】:

  • 您的意思是在 webapp 启动期间禁用加载 xfire servlet 本身吗?
  • 是的。我可以通过设置一些系统属性来做到吗?

标签: java web-services xfire


【解决方案1】:

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

<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 应该是 在启动时加载(实例化并调用它的 init()) Web应用程序。这些元素的可选内容必须是 指示应加载 servlet 的顺序的整数。如果 该值是一个负整数,或者该元素不存在, 容器可以随时选择加载 servlet。如果 value 是一个正的 128 整数或 0,容器必须加载并且 在部署应用程序时初始化 servlet。容器 必须保证加载标有小整数的 servlet 在标有更高整数的 servlet 之前。容器可以选择 加载启动时加载值相同的 servlet 的加载顺序。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    相关资源
    最近更新 更多