This project provides a Java implementation of the DRMAA specification. It provides a thin layer around command line executables as qsub
and qstat
. Users can choose to run these commands in the same computer where the Java code is being executed, or run them via SSH. The SSH support is provided by the XebiaLabs overthere library, which means that some of its features a propagated tot he library (e.g. SSH jump stations support).
A look at pbs-java-api and drmaa-pbs may be helpful to understand how and why this API was created. pbs-java-api was the first created, in order to be used in the PBS Plug-in for Jenkins. Later users requested that the plug-in supported other batch servers, and then we decided to use the drmaa-pbs as a test bed implementation. This is the result API, based on the work done and tested in the past.
(WIP)
(WIP)
(WIP)
(WIP)
(WIP)
(WIP)
(WIP)
(WIP)
(WIP) - see Service Loader in 52North SOS
To build the project, you can use Maven.
mvn clean test install
Please, consider uploading your test results to CJAN.org as well.
The XML files are parsed with XStream. There is an important class, XmlFile, that is inspired from the class with the same name, from the Jenkins project.
Connection to server is handled by XebiaLabs' overthere library. The type of connection (SSH, local, scp, su) is decided based on the contact string, passed in the Session#init method. This method has the same signature as defined in the DRMAA reference implementation, though we use the contact string with a different purpose.
Logging is done via JUL. TODO: explain how to customise log levels, output, etc