Author: michiel
Date: 2009-11-20 09:16:43 +0100 (Fri, 20 Nov 2009)
New Revision: 39814

Modified:
   
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java
   
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
Log:


Modified: 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java
    2009-11-20 08:04:31 UTC (rev 39813)
+++ 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java
    2009-11-20 08:16:43 UTC (rev 39814)
@@ -279,7 +279,6 @@
      */
     public void submit(Cloud cloud, int n, ChainedLogger chain) {
         JobCallable callable = new JobCallable(this, cloud, chain, n);
-        callable.init();
         submit(callable);
     }
 
@@ -294,6 +293,7 @@
            LOG.info("Will submit " + jc);
            ThreadPools.jobsExecutor.execute(new Runnable() {
                    public void run() {
+                       jc.init();
                        synchronized(Job.this) {
                            findResults();
                            if (getCurrent() == null) {

Modified: 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
    2009-11-20 08:04:31 UTC (rev 39813)
+++ 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
    2009-11-20 08:16:43 UTC (rev 39814)
@@ -23,6 +23,9 @@
  * This is the actual callable that can be submitted to the Executors.
  * It can actually be submitted multiple times. Until it is ready.
  *
+ * It will do that itself, if it detect that the {...@link Stage} of the job 
would change.
+
+ *
  * This boils down to iterating the {...@link Job}.
  * @author Michiel Meeuwissen
  */
@@ -48,9 +51,13 @@
         return thisJob;
     }
 
+
+    /**
+     * Init will wait until the associated source node does actually exist.
+     * It will then also create the related mediafragment.
+     */
     protected synchronized void init() {
         if (ntNode == null) {
-            thisJob.setThread(Thread.currentThread());
             if (ntCloud instanceof 
org.mmbase.bridge.implementation.BasicCloud) {
                 try {
                     synchronized(ntCloud) {
@@ -75,6 +82,7 @@
         }
     }
 
+
     void waitForNode() throws InterruptedException {
         synchronized(this) {
             while(thisJob.getNode() == null) {
@@ -86,6 +94,7 @@
 
     public Integer call() {
         init();
+        thisJob.setThread(Thread.currentThread());
         int resultCount = 0;
         try {
             Result result = thisJob.getCurrent();

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to