comparison servlet3/src/main/java/digilib/servlet/AsyncServletWorker.java @ 926:2c70e595e4d7

better timeout log message
author robcast
date Mon, 19 Dec 2011 21:55:49 +0100
parents 66f1ba72d07b
children 5f03f6937c32
comparison
equal deleted inserted replaced
925:66f1ba72d07b 926:2c70e595e4d7
34 34
35 protected static Logger logger = Logger.getLogger(AsyncServletWorker.class); 35 protected static Logger logger = Logger.getLogger(AsyncServletWorker.class);
36 private long startTime; 36 private long startTime;
37 private ErrMsg errMsgType = ErrMsg.IMAGE; 37 private ErrMsg errMsgType = ErrMsg.IMAGE;
38 private ImageJobDescription jobinfo; 38 private ImageJobDescription jobinfo;
39 /** flag to indicate that the response is completed (on abort)*/ 39 /** flag to indicate that the response is completed (on abort) */
40 private boolean completed = false; 40 private boolean completed = false;
41 /** AsyncRequest timeout */ 41 /** AsyncRequest timeout */
42 protected static long timeout = 60000l; 42 protected static long timeout = 60000l;
43 43
44 /** 44 /**
131 logger.debug("AsyncServletWorker already completed (TimeOut)!"); 131 logger.debug("AsyncServletWorker already completed (TimeOut)!");
132 return; 132 return;
133 } 133 }
134 imageWorker.stopNow(); 134 imageWorker.stopNow();
135 this.completed = true; 135 this.completed = true;
136 Scaler.digilibError(errMsgType, Error.UNKNOWN, null, (HttpServletResponse) asyncContext.getResponse()); 136 Scaler.digilibError(errMsgType, Error.UNKNOWN, null,
137 (HttpServletResponse) asyncContext.getResponse());
137 asyncContext.complete(); 138 asyncContext.complete();
138 } 139 }
139 140
140 @Override 141 @Override
141 public void onTimeout(AsyncEvent event) throws IOException { 142 public void onTimeout(AsyncEvent event) throws IOException {
142 logger.error("AsyncServletWorker TIMED OUT! (increase worker-timeout?)"+event); 143 logger.error("AsyncServletWorker TIMED OUT after "
144 + (System.currentTimeMillis() - startTime)
145 + "ms! (increase worker-timeout?)");
143 if (completed) { 146 if (completed) {
144 logger.debug("AsyncServletWorker already completed (TimeOut)!"); 147 logger.debug("AsyncServletWorker already completed (TimeOut)!");
145 return; 148 return;
146 } 149 }
147 imageWorker.stopNow(); 150 imageWorker.stopNow();
148 this.completed = true; 151 this.completed = true;
149 Scaler.digilibError(errMsgType, Error.UNKNOWN, null, (HttpServletResponse) asyncContext.getResponse()); 152 Scaler.digilibError(errMsgType, Error.UNKNOWN, null,
153 (HttpServletResponse) asyncContext.getResponse());
150 asyncContext.complete(); 154 asyncContext.complete();
151 } 155 }
152 156
153 public static long getTimeout() { 157 public static long getTimeout() {
154 return timeout; 158 return timeout;
155 } 159 }
156 160
157 public static void setTimeout(long timeout) { 161 public static void setTimeout(long timeout) {