Im a bit confused over how the Fun CBR quickstart works - how the jbossesb.xml is used to start and run classes.
On the jbossesb.xml for the Fun CBR quickstart (modified slightly):
<action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
<property name="ruleSet" value="MyESBRules-XPath.drl"/>
<property name="ruleLanguage" value="XPathLanguage.dsl"/>
<property name="ruleReload" value="true"/>
<property name="destinations">
<route-to destination-name="A" service-category="ServerA" service-name="A" />
<route-to destination-name="B" service-category="ServerB" service-name="B" />
<route-to destination-name="C" service-category="ServerC" service-name="C" />
</property>
</action>
The class org.jboss.soa.esb.actions.ContentBasedRouter actually takes a 'ConfigTree' parameter, but it is the org.jboss.soa.esb.services.routing.cbr.ContentBasedRouter class which actually takes the ruleSet, ruleLanguage, ruleReload and messages parameters (for the route method). So how does this work? Is there something which I should have read which explains this?
Another question I have is: how do I connect to the hypersonic database being run by the AS? My hsqldb-ds.xml can be found here:
http://www.students.ncl.ac.uk/j.f.hepworth-smith/hsqldb-ds.xml
My overall aim is to create a system whereby
-when a message comes in a decision on how/where to route is made and the message and routing decision is logged in a database.
-the message is then routed (and some service performs an operation on the message) and then the message is sent back to the logging/routing s/ware which records that is has received the message back.
-ultimately routing decisions are based on the speed/availability of the servers - if a server takes too long, then the message is routed to one of the other servers.
Basically I'm a bit stuck on how to create this logging software/service, and how to keep it constantly running and 'listening' in the background.