Mercurial > hg > digilib-old
annotate servlet3/src/main/java/digilib/servlet/Initialiser.java @ 1121:efe4b0f18cf8
annotator plugin does regions now.
| author | robcast |
|---|---|
| date | Thu, 08 Nov 2012 18:42:57 +0100 |
| 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 } |
