I have GT 4.2.1 installed on an Ubuntu 9.04 linux machine.
I want to develop java client programs on windows machine (using Java COG kit)
to submit jobs to remote Ubuntu linux machine in LAN running GT 4.2.1.
I tried to use Java COG kit 4.1.5, download and configure on linux machine.
Below Java COG 4.1.5 program compile, runs and gives job output correctly on
linux machine on which GT 4.2.1 is running.
import org.globus.cog.abstraction.impl.common.AbstractionFactory;
import org.globus.cog.abstraction.impl.common.StatusEvent;
import org.globus.cog.abstraction.impl.common.task.JobSpecificationImpl;
import org.globus.cog.abstraction.impl.common.task.ServiceContactImpl;
import org.globus.cog.abstraction.impl.common.task.ServiceImpl;
import org.globus.cog.abstraction.impl.common.task.TaskImpl;
import org.globus.cog.abstraction.interfaces.FileLocation;
import org.globus.cog.abstraction.interfaces.JobSpecification;
import org.globus.cog.abstraction.interfaces.Service;
import org.globus.cog.abstraction.interfaces.Status;
import org.globus.cog.abstraction.interfaces.StatusListener;
import org.globus.cog.abstraction.interfaces.Task;
public class JobSubmit2 {
public static void main(String[] args) {
try {
JobSpecification js = new JobSpecificationImpl();
js.setExecutable("/bin/date");
js.setStdOutputLocation(FileLocation.MEMORY);
Task t = new TaskImpl("blabla", Task.JOB_SUBMISSION);
t.setSpecification(js);
t.setService(Service.JOB_SUBMISSION_SERVICE, new
ServiceImpl("local",
new ServiceContactImpl("localhost"), null));
t.addStatusListener(new SL());
AbstractionFactory.newExecutionTaskHandler("local").submit(t);
Thread.sleep(2000);
}
catch (Exception e) {
e.printStackTrace();
}
}
public static class SL implements StatusListener {
public void statusChanged(StatusEvent event) {
System.out.println(event.getStatus().toString());
if (event.getStatus().getStatusCode() == Status.COMPLETED) {
System.out.println(((Task) event.getSource()).getStdOutput());
}
}
}
}
BUT, when I configured the Java COG kit 4.1.5 on windows machine and wants the
same program to submit job to linux machine running GT 4.2.1, it is giving
NullPointerException.
I tried to replace the “local” provider string in above program with different
options:
Gt4, gt4.0.0, gtft
BUT ALL OPTIONS give error: java.lang.NullPointerException.
QUESTIONS:
1. Can I use Java Cog Kit 4.1.5 on windows to submit jobs to GT 4.2.1 on
remote
machine using Java cog kit abstractions program similar to above code?
If yes, then which provider string should I give in above program code.
2. Which other options are available to submit jobs through java client
program
on windows machine to submit jobs to remote GT 4.2.1 machine?
Please help, I am stuck up in my research project since long time.
Thanks,
Prof. Aditya Patel