The resources validations, is a set of beans used to validate resources used by a batch. This can be used, when an administrator, changes the batch parameters, or deploys a new release.
To create a validator, you just need to create a spring managed bean, that implements BatchResourceValidation class. The public boolean exectue(StringBuffer buffer,String mimeType) method is called by SBAL, with:
The method must return a boolean indicating if the validation ended successfully (true) or in error (false).
Dummy validator sample that checks for a value passed through spring configuration:
public class SimpleResourceValidation implements BatchResourceValidation {
protected String value;
protected String name;
public boolean exectue(StringBuffer buffer,String mimeType) {
buffer.append("Simple dummy validation");
return value.equals("ok");
}
/**
* @param value the value to set
*/
public void setValue(String value) {
this.value = value;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
}
This validator is configured in spring like this:
<bean id="diag" class="com.pf.ast.batch.SimpleResourceValidation">
<property name="name">
<value>${validation.name}</value>
</property>
<property name="value">
<value>${validation.ok}</value>
</property>
</bean>
${validation.name} and ${validation.ok} are taken from the configuration properties.
Once the validation is defined, it can be added to the list:
<bean id="resourceValidationRunner"
class="net.sf.spring.batch.impl.DefaultResourceValidationRunner">
<property name="resourceValidations">
<list value-type="com.pf.ast.batch.BatchResourceValidation">
<ref bean="diag" />
</list>
</property>
</bean>
The output of SBAL launched with '-d' option gives:
----------------------------------------\
dummy validation ok | <- Validation name and result status
---------------------------------------- > Repeated block for each validation
Simple dummy validation | <- Buffer content
----------------------------------------/
Summary:2/2 <- Result summary
----------------------------------------