Mercurial > hg > digilib-old
annotate servlet3/src/main/java/digilib/servlet/Initialiser.java @ 1108:214cac7e5628
oerks, overlooked css file again
author | hertzhaft |
---|---|
date | Sat, 27 Oct 2012 00:12:36 +0200 |
parents | b2d97b842612 |
children | 2ee261676828 |
rev | line source |
---|---|
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
1 /* Initialiser.java -- initalisation servlet for setup tasks |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
2 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
3 * Digital Image Library servlet components |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
4 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
5 * Copyright (C) 2004 Robert Casties (robcast@mail.berlios.de) |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
6 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
7 * This program is free software; you can redistribute it and/or modify it |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
8 * under the terms of the GNU General Public License as published by the Free |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
9 * Software Foundation; either version 2 of the License, or (at your option) |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
10 * any later version. |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
11 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
12 * Please read license.txt for the full details. A copy of the GPL may be found |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
13 * at http://www.gnu.org/copyleft/lgpl.html |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
14 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License along with |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
16 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
17 * Place, Suite 330, Boston, MA 02111-1307 USA |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
18 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
19 * Created on 18.10.2004 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
20 */ |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
21 package digilib.servlet; |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
22 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
23 import java.io.File; |
546 | 24 import java.io.OutputStream; |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
25 import java.util.List; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
26 |
825
26a3e127f45c
config option img-diskcache-allowed to switch off disk caching in ImageIO
robcast
parents:
821
diff
changeset
|
27 import javax.imageio.ImageIO; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
28 import javax.servlet.ServletContext; |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
29 import javax.servlet.ServletContextEvent; |
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
30 import javax.servlet.ServletContextListener; |
930 | 31 import javax.servlet.ServletRequestEvent; |
32 import javax.servlet.ServletRequestListener; | |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
33 import javax.servlet.annotation.WebListener; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
34 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
35 import org.apache.log4j.Logger; |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
36 import org.apache.log4j.xml.DOMConfigurator; |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
37 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
38 import digilib.auth.AuthOps; |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
39 import digilib.auth.XMLAuthOps; |
531 | 40 import digilib.image.DocuImage; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
41 import digilib.io.AliasingDocuDirCache; |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
42 import digilib.io.DocuDirCache; |
563 | 43 import digilib.io.FileOps.FileClass; |
557 | 44 import digilib.util.DigilibJobCenter; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
45 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
46 /** |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
47 * Singleton initalisation listener for setup tasks and resources. |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
48 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
49 * @author casties |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
50 * |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
51 */ |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
52 @WebListener |
930 | 53 public class Initialiser implements ServletContextListener, ServletRequestListener { |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
54 |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
55 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
56 /** servlet version */ |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
57 public static final String version = "0.3"; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
58 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
59 /** gengeral logger for this class */ |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
60 private static Logger logger = Logger.getLogger("digilib.init"); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
61 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
62 /** DocuDirCache instance */ |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
63 DocuDirCache dirCache; |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
64 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
65 /** DigilibConfiguration instance */ |
930 | 66 DigilibServletConfiguration dlConfig; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
67 |
804
587c90bc5976
first version using officially approved Servlet 3.0 async support.
robcast
parents:
564
diff
changeset
|
68 /** Executor for digilib image jobs (AsyncServletWorker doesn't return anything) */ |
548 | 69 DigilibJobCenter<DocuImage> imageEx; |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
70 |
546 | 71 /** Executor for PDF jobs */ |
548 | 72 DigilibJobCenter<OutputStream> pdfEx; |
546 | 73 |
74 /** Executor for PDF image jobs */ | |
548 | 75 DigilibJobCenter<DocuImage> pdfImageEx; |
546 | 76 |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
77 /** |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
78 * Initialisation on first run. |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
79 */ |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
80 public void contextInitialized(ServletContextEvent cte) { |
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
81 ServletContext context = cte.getServletContext(); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
82 |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
83 System.out.println("***** Digital Image Library Initialiser (version " |
563 | 84 + version + ") *****"); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
85 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
86 // see if there is a Configuration instance |
903 | 87 dlConfig = (DigilibServletConfiguration) context.getAttribute("digilib.servlet.configuration"); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
88 if (dlConfig == null) { |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
89 // create new Configuration |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
90 try { |
903 | 91 dlConfig = new DigilibServletConfiguration(context); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
92 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
93 /* |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
94 * further initialization |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
95 */ |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
96 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
97 // set up the logger |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
98 File logConf = ServletOps.getConfigFile((File) dlConfig |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
99 .getValue("log-config-file"), context); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
100 DOMConfigurator.configure(logConf.getAbsolutePath()); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
101 dlConfig.setValue("log-config-file", logConf); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
102 // say hello in the log file |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
103 logger |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
104 .info("***** Digital Image Library Initialiser (version " |
563 | 105 + version + ") *****"); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
106 // directory cache |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
107 String[] bd = (String[]) dlConfig.getValue("basedir-list"); |
563 | 108 FileClass[] fcs = { FileClass.IMAGE, FileClass.TEXT }; |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
109 if (dlConfig.getAsBoolean("use-mapping")) { |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
110 // with mapping file |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
111 File mapConf = ServletOps.getConfigFile((File) dlConfig |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
112 .getValue("mapping-file"), context); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
113 dirCache = new AliasingDocuDirCache(bd, fcs, mapConf, |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
114 dlConfig); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
115 dlConfig.setValue("mapping-file", mapConf); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
116 } else { |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
117 // without mapping |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
118 dirCache = new DocuDirCache(bd, fcs, dlConfig); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
119 } |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
120 dlConfig.setValue("servlet.dir.cache", dirCache); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
121 // useAuthentication |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
122 if (dlConfig.getAsBoolean("use-authorization")) { |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
123 // DB version |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
124 //authOp = new DBAuthOpsImpl(util); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
125 // XML version |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
126 File authConf = ServletOps.getConfigFile((File) dlConfig |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
127 .getValue("auth-file"), context); |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
128 AuthOps authOp = new XMLAuthOps(authConf); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
129 dlConfig.setValue("servlet.auth.op", authOp); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
130 dlConfig.setValue("auth-file", authConf); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
131 } |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
132 // DocuImage class |
564 | 133 DocuImage di = DigilibConfiguration.getDocuImageInstance(); |
531 | 134 dlConfig.setValue("servlet.docuimage.class", di.getClass().getName()); |
825
26a3e127f45c
config option img-diskcache-allowed to switch off disk caching in ImageIO
robcast
parents:
821
diff
changeset
|
135 // disk cache for image toolkit |
26a3e127f45c
config option img-diskcache-allowed to switch off disk caching in ImageIO
robcast
parents:
821
diff
changeset
|
136 boolean dc = dlConfig.getAsBoolean("img-diskcache-allowed"); |
26a3e127f45c
config option img-diskcache-allowed to switch off disk caching in ImageIO
robcast
parents:
821
diff
changeset
|
137 // TODO: methods for all toolkits? |
26a3e127f45c
config option img-diskcache-allowed to switch off disk caching in ImageIO
robcast
parents:
821
diff
changeset
|
138 ImageIO.setUseCache(dc); |
546 | 139 // digilib worker threads |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
140 int nt = dlConfig.getAsInt("worker-threads"); |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
141 int mt = dlConfig.getAsInt("max-waiting-threads"); |
858 | 142 imageEx = new DigilibJobCenter<DocuImage>(nt, mt, false, "servlet.worker.imageexecutor"); |
925
66f1ba72d07b
added timeout-parameter and timeout-handler to AsyncServletWorker.
robcast
parents:
903
diff
changeset
|
143 dlConfig.setValue("servlet.worker.imageexecutor", imageEx); |
66f1ba72d07b
added timeout-parameter and timeout-handler to AsyncServletWorker.
robcast
parents:
903
diff
changeset
|
144 // digilib worker timeout |
66f1ba72d07b
added timeout-parameter and timeout-handler to AsyncServletWorker.
robcast
parents:
903
diff
changeset
|
145 long to = dlConfig.getAsInt("worker-timeout"); |
66f1ba72d07b
added timeout-parameter and timeout-handler to AsyncServletWorker.
robcast
parents:
903
diff
changeset
|
146 AsyncServletWorker.setTimeout(to); |
546 | 147 // PDF worker threads |
148 int pnt = dlConfig.getAsInt("pdf-worker-threads"); | |
149 int pmt = dlConfig.getAsInt("pdf-max-waiting-threads"); | |
858 | 150 pdfEx = new DigilibJobCenter<OutputStream>(pnt, pmt, false, "servlet.worker.pdfexecutor"); |
546 | 151 dlConfig.setValue("servlet.worker.pdfexecutor", pdfEx); |
548 | 152 // PDF image worker threads |
546 | 153 int pint = dlConfig.getAsInt("pdf-image-worker-threads"); |
154 int pimt = dlConfig.getAsInt("pdf-image-max-waiting-threads"); | |
858 | 155 pdfImageEx = new DigilibJobCenter<DocuImage>(pint, pimt, false, "servlet.worker.pdfimageexecutor"); |
546 | 156 dlConfig.setValue("servlet.worker.pdfimageexecutor", pdfImageEx); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
157 // set as the servlets main config |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
158 context.setAttribute("digilib.servlet.configuration", dlConfig); |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
159 |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
160 } catch (Exception e) { |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
161 logger.error("Error in initialisation: ", e); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
162 } |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
163 } else { |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
164 // say hello in the log file |
817 | 165 logger.info("***** Digital Image Library Initialiser (version " |
563 | 166 + version + ") *****"); |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
167 logger.warn("Already initialised!"); |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
168 } |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
169 } |
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
170 |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
171 /** clean up local resources |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
172 * |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
173 */ |
806
d811204ce5a4
Initialiser is now a ServletContextListener (doesn't need web.xml).
robcast
parents:
804
diff
changeset
|
174 public void contextDestroyed(ServletContextEvent arg0) { |
821 | 175 logger.info("Initialiser shutting down."); |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
176 if (dirCache != null) { |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
177 // shut down dirCache? |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
178 dirCache = null; |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
179 } |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
180 if (imageEx != null) { |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
181 // shut down image thread pool |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
182 List<Runnable> rj = imageEx.shutdownNow(); |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
183 int nrj = rj.size(); |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
184 if (nrj > 0) { |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
185 logger.error("Still running threads when shutting down image job queue: "+nrj); |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
186 } |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
187 } |
559 | 188 if (pdfEx != null) { |
189 // shut down pdf thread pool | |
190 List<Runnable> rj = pdfEx.shutdownNow(); | |
191 int nrj = rj.size(); | |
192 if (nrj > 0) { | |
193 logger.error("Still running threads when shutting down PDF job queue: "+nrj); | |
194 } | |
195 } | |
196 if (pdfImageEx != null) { | |
197 // shut down pdf image thread pool | |
198 List<Runnable> rj = pdfImageEx.shutdownNow(); | |
199 int nrj = rj.size(); | |
200 if (nrj > 0) { | |
201 logger.error("Still running threads when shutting down PDF-image job queue: "+nrj); | |
202 } | |
203 } | |
544
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
204 } |
5ff500d6812a
more steps towards more standard java.util.concurrent design
robcast
parents:
543
diff
changeset
|
205 |
930 | 206 @Override |
207 public void requestDestroyed(ServletRequestEvent arg0) { | |
208 int i = dlConfig.openRequestCnt.decrementAndGet(); | |
209 logger.debug("ServletRequest destroyed. (cnt="+i+")"); | |
210 } | |
211 | |
212 @Override | |
213 public void requestInitialized(ServletRequestEvent arg0) { | |
937 | 214 dlConfig.webappRequestCnt.incrementAndGet(); |
930 | 215 int i = dlConfig.openRequestCnt.incrementAndGet(); |
216 logger.debug("ServletRequest created. (cnt="+i+")"); | |
217 } | |
218 | |
297
b74c914b48a9
Servlet version 1.5.0b -- the beginning of the next generation :-)
robcast
parents:
diff
changeset
|
219 } |