Oddjob 1.1 Released

Version 1.1. of Oddjob is now available.

This release includes:

A new JSF AJAX Web Front End which replaces the old Struts version.

Oddjob JSF/Ajax Browser View

Oddjob JSF/Ajax Browser View

Support for providing a job as a Callable as well as a Runnable.

Here’s a Callable:

import java.util.concurrent.Callable;

public class HelloBean implements Callable<Integer> {

	private String time;

	@Override
	public Integer call() throws Exception {

		System.out.println("Hello at " + time + ".");

		return 0;
	}

	public void setTime(String time) {
		this.time = time;
	}

	@Override
	public String toString() {
		return "My Callable";
	}
}

And here it is running in Oddjob:

Callable Bean Demo

From this configuration:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<oddjob>
    <job>
        <scheduling:timer id="timer" xmlns:scheduling="http://rgordon.co.uk/oddjob/scheduling">
            <schedule>
                <schedules:daily from="07:00" xmlns:schedules="http://rgordon.co.uk/oddjob/schedules">
                    <refinement>
                        <schedules:interval interval="00:02"/>
                    </refinement>
                </schedules:daily>
            </schedule>
            <job>
                <sequential>
                    <jobs>
                        <properties>
                            <values>
                                <format date="${timer.lastDue}" format="HH:mm" key="formatted.time"/>
                            </values>
                        </properties>
                        <bean class="examples.HelloBean" time="${formatted.time}"/>
                    </jobs>
                </sequential>
            </job>
        </scheduling:timer>
    </job>
</oddjob>

The ability to Force a Failed Job to Complete.

If a job fails and you work around it manually you can now force that job to complete so dependent jobs can trigger.

Oddjob Forceable

Comments are closed.