Update of /var/cvs/applications/resources/src/org/mmbase/util/images
In directory james.mmbase.org:/tmp/cvs-serv9228
Modified Files:
ImageConversionRequestProcessor.java
Log Message:
checking for thread == null to know if it was shutdown is not quite correct
because it possible that we arrive here already before this member was set
See also:
http://cvs.mmbase.org/viewcvs/applications/resources/src/org/mmbase/util/images
Index: ImageConversionRequestProcessor.java
===================================================================
RCS file:
/var/cvs/applications/resources/src/org/mmbase/util/images/ImageConversionRequestProcessor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ImageConversionRequestProcessor.java 22 Apr 2009 06:57:43 -0000
1.4
+++ ImageConversionRequestProcessor.java 22 Apr 2009 08:03:34 -0000
1.5
@@ -25,7 +25,7 @@
*
* @author Rico Jansen
* @author Michiel Meeuwissen
- * @version $Id: ImageConversionRequestProcessor.java,v 1.4 2009/04/22
06:57:43 michiel Exp $
+ * @version $Id: ImageConversionRequestProcessor.java,v 1.5 2009/04/22
08:03:34 michiel Exp $
* @see ImageConversionRequest
*/
public class ImageConversionRequestProcessor implements Runnable {
@@ -34,6 +34,7 @@
private static int idCounter =0;
private final int processorId;
private Thread thread;
+ private boolean shutdown = false;
private ImageConverter convert;
private final BlockingQueue<ImageConversionRequest> queue;
@@ -50,24 +51,20 @@
this.queue = queue;
this.table = table;
processorId = idCounter++;
- start();
- }
-
- /**
- * Starts the thread for this ImageRequestProcessor.
- */
- protected void start() {
thread = MMBaseContext.startThread(this, "ImageConvert[" + processorId
+"]");
}
+
+
protected void shutdown() {
+ shutdown = true;
thread.interrupt();
- thread = null;
}
// javadoc inherited (from Runnable)
public void run() {
MMBase mmbase = MMBase.getMMBase();
- while (!mmbase.isShutdown() && thread != null) {
+ log.debug("Started request processor");
+ while (!mmbase.isShutdown() && !shutdown) {
try {
log.debug("Waiting for request");
ImageConversionRequest req = queue.take();
@@ -82,6 +79,7 @@
log.error(e.getMessage(), e);
}
}
+ log.debug("Finished request processor " + this + " " + thread);
}
/**
@@ -105,8 +103,10 @@
List<String> params = req.getParams();
try {
+ OutputStream out = rec.getOutputStream();
+ int length = convert.convertImage(inputPicture,
req.getInputFormat(), out, params);
+
- int length = convert.convertImage(inputPicture,
req.getInputFormat(), rec.getOutputStream(), params);
if (length > 0) {
rec.setSize(length);
if (rec.wantsDimension()) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs