annotate servlet2/src/main/java/digilib/servlet/Initialiser.java @ 1019:287e2d2d2ae8

fix flicker in Firefox by leaving scaler background visible. add setSize and setRGB actions. disabled rotation slider for now (needs excact numerical input option).
author robcast
date Mon, 20 Feb 2012 22:23:07 +0100
parents d5d99a9eb5dd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
903
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
1 /* Initialiser.java -- initalisation servlet for setup tasks
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
2 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
3 * Digital Image Library servlet components
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
4 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
5 * Copyright (C) 2004 Robert Casties (robcast@mail.berlios.de)
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
6 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify it
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
8 * under the terms of the GNU General Public License as published by the Free
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
9 * Software Foundation; either version 2 of the License, or (at your option)
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
10 * any later version.
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
11 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
12 * Please read license.txt for the full details. A copy of the GPL may be found
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
13 * at http://www.gnu.org/copyleft/lgpl.html
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
14 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License along with
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
16 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
17 * Place, Suite 330, Boston, MA 02111-1307 USA
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
18 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
19 * Created on 18.10.2004
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
20 */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
21 package digilib.servlet;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
22
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
23 import java.io.File;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
24 import java.io.OutputStream;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
25 import java.util.List;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
26
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
27 import javax.imageio.ImageIO;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
28 import javax.servlet.ServletContext;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
29 import javax.servlet.ServletContextEvent;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
30 import javax.servlet.ServletContextListener;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
31
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
32 import org.apache.log4j.Logger;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
33 import org.apache.log4j.xml.DOMConfigurator;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
34
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
35 import digilib.auth.AuthOps;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
36 import digilib.auth.XMLAuthOps;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
37 import digilib.image.DocuImage;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
38 import digilib.io.AliasingDocuDirCache;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
39 import digilib.io.DocuDirCache;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
40 import digilib.io.FileOps.FileClass;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
41 import digilib.util.DigilibJobCenter;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
42
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
43 /**
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
44 * Singleton initalisation listener for setup tasks and resources.
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
45 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
46 * @author casties
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
47 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
48 */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
49 public class Initialiser implements ServletContextListener {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
50
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
51
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
52 /** servlet version */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
53 public static final String version = "0.3";
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
54
909
d5d99a9eb5dd small fixes
robcast
parents: 903
diff changeset
55 /** general logger for this class */
903
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
56 private static Logger logger = Logger.getLogger("digilib.init");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
57
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
58 /** DocuDirCache instance */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
59 DocuDirCache dirCache;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
60
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
61 /** DigilibConfiguration instance */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
62 DigilibServletConfiguration dlConfig;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
63
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
64 /** Executor for digilib image jobs (AsyncServletWorker doesn't return anything) */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
65 DigilibJobCenter<DocuImage> imageEx;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
66
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
67 /** Executor for PDF jobs */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
68 DigilibJobCenter<OutputStream> pdfEx;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
69
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
70 /** Executor for PDF image jobs */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
71 DigilibJobCenter<DocuImage> pdfImageEx;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
72
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
73 /**
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
74 * Initialisation on first run.
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
75 */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
76 public void contextInitialized(ServletContextEvent cte) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
77 ServletContext context = cte.getServletContext();
909
d5d99a9eb5dd small fixes
robcast
parents: 903
diff changeset
78 context.log("***** Digital Image Library Initialiser (version "
d5d99a9eb5dd small fixes
robcast
parents: 903
diff changeset
79 + version + ") *****");
903
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
80 System.out.println("***** Digital Image Library Initialiser (version "
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
81 + version + ") *****");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
82
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
83 // see if there is a Configuration instance
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
84 dlConfig = (DigilibServletConfiguration) context.getAttribute("digilib.servlet.configuration");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
85 if (dlConfig == null) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
86 // create new Configuration
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
87 try {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
88 dlConfig = new DigilibServletConfiguration(context);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
89
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
90 /*
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
91 * further initialization
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
92 */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
93
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
94 // set up the logger
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
95 File logConf = ServletOps.getConfigFile((File) dlConfig
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
96 .getValue("log-config-file"), context);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
97 DOMConfigurator.configure(logConf.getAbsolutePath());
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
98 dlConfig.setValue("log-config-file", logConf);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
99 // say hello in the log file
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
100 logger
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
101 .info("***** Digital Image Library Initialiser (version "
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
102 + version + ") *****");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
103 // directory cache
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
104 String[] bd = (String[]) dlConfig.getValue("basedir-list");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
105 FileClass[] fcs = { FileClass.IMAGE, FileClass.TEXT };
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
106 if (dlConfig.getAsBoolean("use-mapping")) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
107 // with mapping file
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
108 File mapConf = ServletOps.getConfigFile((File) dlConfig
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
109 .getValue("mapping-file"), context);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
110 dirCache = new AliasingDocuDirCache(bd, fcs, mapConf,
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
111 dlConfig);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
112 dlConfig.setValue("mapping-file", mapConf);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
113 } else {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
114 // without mapping
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
115 dirCache = new DocuDirCache(bd, fcs, dlConfig);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
116 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
117 dlConfig.setValue("servlet.dir.cache", dirCache);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
118 // useAuthentication
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
119 if (dlConfig.getAsBoolean("use-authorization")) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
120 // DB version
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
121 //authOp = new DBAuthOpsImpl(util);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
122 // XML version
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
123 File authConf = ServletOps.getConfigFile((File) dlConfig
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
124 .getValue("auth-file"), context);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
125 AuthOps authOp = new XMLAuthOps(authConf);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
126 dlConfig.setValue("servlet.auth.op", authOp);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
127 dlConfig.setValue("auth-file", authConf);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
128 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
129 // DocuImage class
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
130 DocuImage di = DigilibServletConfiguration.getDocuImageInstance();
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
131 dlConfig.setValue("servlet.docuimage.class", di.getClass().getName());
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
132 // disk cache for image toolkit
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
133 boolean dc = dlConfig.getAsBoolean("img-diskcache-allowed");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
134 // TODO: methods for all toolkits?
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
135 ImageIO.setUseCache(dc);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
136 // digilib worker threads
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
137 int nt = dlConfig.getAsInt("worker-threads");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
138 int mt = dlConfig.getAsInt("max-waiting-threads");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
139 imageEx = new DigilibJobCenter<DocuImage>(nt, mt, false, "servlet.worker.imageexecutor");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
140 dlConfig.setValue("servlet.worker.imageexecutor", imageEx);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
141 // PDF worker threads
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
142 int pnt = dlConfig.getAsInt("pdf-worker-threads");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
143 int pmt = dlConfig.getAsInt("pdf-max-waiting-threads");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
144 pdfEx = new DigilibJobCenter<OutputStream>(pnt, pmt, false, "servlet.worker.pdfexecutor");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
145 dlConfig.setValue("servlet.worker.pdfexecutor", pdfEx);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
146 // PDF image worker threads
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
147 int pint = dlConfig.getAsInt("pdf-image-worker-threads");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
148 int pimt = dlConfig.getAsInt("pdf-image-max-waiting-threads");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
149 pdfImageEx = new DigilibJobCenter<DocuImage>(pint, pimt, false, "servlet.worker.pdfimageexecutor");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
150 dlConfig.setValue("servlet.worker.pdfimageexecutor", pdfImageEx);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
151 // set as the servlets main config
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
152 context.setAttribute("digilib.servlet.configuration", dlConfig);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
153
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
154 } catch (Exception e) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
155 logger.error("Error in initialisation: ", e);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
156 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
157 } else {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
158 // say hello in the log file
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
159 logger.info("***** Digital Image Library Initialiser (version "
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
160 + version + ") *****");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
161 logger.warn("Already initialised!");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
162 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
163 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
164
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
165 /** clean up local resources
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
166 *
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
167 */
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
168 public void contextDestroyed(ServletContextEvent arg0) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
169 logger.info("Initialiser shutting down.");
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
170 if (dirCache != null) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
171 // shut down dirCache?
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
172 dirCache = null;
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
173 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
174 if (imageEx != null) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
175 // shut down image thread pool
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
176 List<Runnable> rj = imageEx.shutdownNow();
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
177 int nrj = rj.size();
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
178 if (nrj > 0) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
179 logger.error("Still running threads when shutting down image job queue: "+nrj);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
180 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
181 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
182 if (pdfEx != null) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
183 // shut down pdf thread pool
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
184 List<Runnable> rj = pdfEx.shutdownNow();
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
185 int nrj = rj.size();
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
186 if (nrj > 0) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
187 logger.error("Still running threads when shutting down PDF job queue: "+nrj);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
188 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
189 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
190 if (pdfImageEx != null) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
191 // shut down pdf image thread pool
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
192 List<Runnable> rj = pdfImageEx.shutdownNow();
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
193 int nrj = rj.size();
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
194 if (nrj > 0) {
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
195 logger.error("Still running threads when shutting down PDF-image job queue: "+nrj);
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
196 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
197 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
198 }
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
199
7779b37d1d05 refactored into maven modules per servlet type.
robcast
parents:
diff changeset
200 }