Distribute Decision Validation Service tests on different Rule Execution Server instances
Can I configure Rules Team Server to distribute the Decision Validation Service tests to multiple application servers?
With a Rule Execution Server environment defined on a domain with multiple servers it is possible to define which Rule Execution Server instances will be used to execute the Rule Team Server Decision Services
First remember to pack all your XOMs (eXecutable Object Model) into the ssp.war following the documentation.
Then make sure the SSP (ssp.war) is deployed on each server along with a XU connection factory and the appropriate datasource definition.
Then create your own SSP resolver, add it to the teamserver.war and set the teamserver.defaultSSPResolver.class property to this class following this specification.
By implementing your own method IlrSSPResolver.getSSPURL(String serverName,URL url), you will be able to point to something else than the default provider.
The default provider uses the url of the Rule Execution Server passed in parameter and replaces the application name with testing.
A simple implementation can use the server name to return a specific server URL.
for example you can have 2 servers defined in RTS:
And your SSP provider can evaluate the SSP URL as follow :
if ( serverName.equals("testingServer1") )
return ( new URL(
"http://server1:9080/testing" ) );
else if ( serverName.equals("testingServer2") )
return ( new URL(
return( new URL(
Then when running a DVS test the execution will be dispatched according to the server you choose.
For a more elaborate implementation you can have a dependency with the project being tested so that you can distribute the DVS execution based on a project:
ManagerBean bean = ManagerBean.getInstance() ;
IlrSession session = bean.getSession();
IlrRuleProject project = session.getWorkingBaseline().getProject();
String pname = project.getName();