如何在启动期间禁用@Webservice加载以在xfire中保存一些加载时间?
我有一堆@Webservice注释服务。它们都在启动期间被加载并导致启动缓慢。如果我在dev实例中测试非服务,我不想加载这些。我想知道是否有办法通过设置系统属性或其他东西来禁用它。
答案 0 :(得分:0)
当然,在你的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。如果 值是一个正128的整数或0,容器必须加载和 在部署应用程序时初始化servlet。容器 必须保证加载标有较低整数的servlet 在用更高整数标记的servlet之前。容器可以选择 具有相同加载启动值的servlet的加载顺序。
请参阅Web容器的文档,以确保在您的情况下具有所需的效果。