在 JBoss SOA 5.3.0.GA(JBoss AS 的一种风格)下,我有一个带有多个 WAR 的 EAR。当 EAR 取消部署时,每个 WAR 大约需要 5 秒才能取消部署。
这是由于CatalinaEventHandler.stopContext(Context)
,其中完成了五秒钟的睡眠:
273 public void stopContext(Context context)
274 {
275 this.checkInit();
276
277 if (!this.exclude(context))
278 {
279 log.debug(this.sm.getString("modcluster.context.stop", context.getPath(), context.getParent().getName()));
280
281 // Send STOP-APP
282 MCMPRequest request = this.requestFactory.createStopRequest(context);
283
284 this.mcmpHandler.sendRequest(request);
285 Thread thr = Thread.currentThread();
286 try {
287 thr.sleep(5000); // Time for requests being processed.
288 } catch(Exception ex) {
289 }
290 }
291 }
有没有办法加快 Web 应用程序的卸载速度?