|
From: <das...@us...> - 2008-10-29 19:41:22
|
Revision: 1178
http://vlab.svn.sourceforge.net/vlab/?rev=1178&view=rev
Author: dasil014
Date: 2008-10-29 19:41:19 +0000 (Wed, 29 Oct 2008)
Log Message:
-----------
I added a option to resubmit a job in a different Task Executor, if it failed to submit a job in a Task Executor attributed. If keep try find task executor available to get the execution package. The method that convert a string into a Task Receipt class setConvertTaskReceipt(String, String) had move from ProjectExecutor class to DispatchTask.java, due the facilite to exchange data into the same class.
Modified Paths:
--------------
trunk/vlab/services/project-executor/src/main/java/org/vlab/services/DispatchTask.java
Modified: trunk/vlab/services/project-executor/src/main/java/org/vlab/services/DispatchTask.java
===================================================================
--- trunk/vlab/services/project-executor/src/main/java/org/vlab/services/DispatchTask.java 2008-10-29 19:25:36 UTC (rev 1177)
+++ trunk/vlab/services/project-executor/src/main/java/org/vlab/services/DispatchTask.java 2008-10-29 19:41:19 UTC (rev 1178)
@@ -4,7 +4,12 @@
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URL;
+import java.io.StringReader;
+import java.net.*;
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
import org.apache.axis.encoding.Base64;
public class DispatchTask extends Thread{
@@ -199,6 +204,24 @@
tdUrl = disp.getTargetFullUrl();
System.out.println("URL TO CONNECT: " + tdUrl);
+ int i = 1;
+ while(i!=0){
+
+ try{
+ URL url = new URL(tdUrl);
+ URLConnection connection = url.openConnection();
+ connection.connect();
+ i = 0;
+ System.out.println("Successfully Connected at: " + tdUrl);
+ }catch(Exception ae){
+ System.err.println("Error trying to connect at: " + tdUrl);
+ i = 1;
+ disp.setChooseToRun();
+ tdUrl = disp.getTargetFullUrl();
+ System.out.println("URL TO CONNECT: " + tdUrl);
+ }
+ }
+
//disp.setTdExecutionPackage(pesdataexecutionpackage);
SendExecutionPackage();
@@ -211,7 +234,7 @@
try{
tdReceiptString = disp.getTdReceiptString();
this.sleep(1000);
- ProjectExecutor.setTaskReceipt( this.getName(), tdReceiptString);
+ ExecuteProject.ListTaskReceipt.add(setConvertTaskReceipt( this.getName(), tdReceiptString));
} catch (Exception ae){
System.err.println("[DispatchTask::start() Thread:" + this.getName() + "] => Error getting the receipt string: " + ae.getMessage());
ae.printStackTrace();
@@ -220,4 +243,45 @@
}
+
+
+
+ public static Receipt setConvertTaskReceipt(String ThreadName, String TaskReceipt){
+
+ //System.out.println("\nHere I start the setTaskReceipt with the following Receipt: \n"+TaskReceipt+"\n\n");
+ StringReader ReceiptReader = null;
+ Receipt newtaskReceipt = new Receipt();
+
+ try{
+ ReceiptReader = new StringReader(TaskReceipt);
+ } catch (Exception ae){
+ System.err.println("[Project::setTaskReceipt()] => Error creating the String Reader: " + ae.getMessage());
+ ae.printStackTrace();
+ //System.exit(-1);
+ }
+
+ try{
+ Unmarshaller un = new Unmarshaller(Receipt.class);
+ newtaskReceipt = (Receipt) un.unmarshal(ReceiptReader);
+ } catch (Exception ae){
+ System.err.println("[ProjectExecutor::setTaskReceipt()] => Error: " + ae.getMessage());
+ ae.printStackTrace();
+ //System.exit(-1);
+ }
+
+ try{
+ System.out.println("Receipt Code: " + newtaskReceipt.getCode());
+ System.out.println("Receipt Kind: " + newtaskReceipt.getKind());
+ //ExecuteProject.ListTaskReceipt.add(newtaskReceipt);
+ } catch(Exception ae){
+ System.err.println("[ProjectExecutor::setTaskReceipt] Adding Task inside the list of Tasks: "+ae.getMessage());
+ ae.printStackTrace();
+ //System.exit(-1);
+ }
+
+ //System.out.println("Here the thread" + ThreadName + "I put the taskreceipt on the phase list" + ExecuteProject.ListTaskReceipt.size());
+
+ return newtaskReceipt;
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|