Implementing Jobs: Difference between revisions
No edit summary |
No edit summary |
||
| Line 30: | Line 30: | ||
</pre> | </pre> | ||
Here | Here are all the available methods on JobConfig for retrieving your named parameters.<br> | ||
* java.lang.Boolean getBoolean(java.lang.String name) | * java.lang.Boolean getBoolean(java.lang.String name) | ||
Revision as of 00:08, 21 February 2011
This information covers implementing jobs in java. If you want to schedule execution of scripts, please see our Scripting Jobs topic.
SchedulableJob Interface
Implementing jobs in Espresso couldn't be easier. All functionality in Espresso is exposed in an interface requiring implementation of a single method. com.carfey.ops.job.SchedulableJob's contract is simply public void execute(Context context) throws Exception.
In your implementation, the single method would do whatever work is required and is free to throw any Exception that is then handled by Espresso. If you have no parameterization or any dependency on runtime information, that's all you need do. Perhaps you are able to just call some existing class that provides all the functionality that you need to schedule. Here's an example you can follow.
import com.carfey.ops.job.Context;
import com.carfey.ops.job.SchedulableJob;
public class MyScheduledJob implements SchedulableJob {
public void execute(Context context) throws Exception {
MyExistingFunction function = new MyExistingFunction();
function.go();
}
}
If you are running parameterized jobs, these parameters are very easy to access. Example:
public void execute(Context context) throws Exception {
JobConfig config = context.getConfig();
String url = config.getString("url");
MyExistingFunction function = new MyExistingFunction();
function.setUrl(url);
function.go();
}
Here are all the available methods on JobConfig for retrieving your named parameters.
- java.lang.Boolean getBoolean(java.lang.String name)
- java.util.List<java.lang.Boolean> getBooleanList(java.lang.String name)
- java.math.BigDecimal getDecimal(java.lang.String name)
- java.util.List<java.math.BigDecimal> getDecimalList(java.lang.String name)
- java.lang.Integer getInt(java.lang.String name)
- java.util.List<java.lang.Integer> getIntList(java.lang.String name)
- java.lang.Long getLong(java.lang.String name)
- java.util.List<java.lang.Long> getLongList(java.lang.String name)
- java.lang.String getString(java.lang.String name)
- java.util.List<java.lang.String> getStringList(java.lang.String name)