[esb-issues] [JBoss JIRA] Closed: (JBESB-1504) CBR using rules has poor performance
Daniel Bevenius (JIRA)
jira-events at lists.jboss.org
Tue Jul 1 07:30:31 EDT 2008
[ http://jira.jboss.com/jira/browse/JBESB-1504?page=all ]
Daniel Bevenius closed JBESB-1504.
----------------------------------
Resolution: Done
Committed to trunk with revision 20854.
> CBR using rules has poor performance
> ------------------------------------
>
> Key: JBESB-1504
> URL: http://jira.jboss.com/jira/browse/JBESB-1504
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Content Based Routing
> Affects Versions: 4.2.1
> Environment: SOA-P 4.2.0.beta1
> Reporter: Martin Vecera
> Assigned To: Daniel Bevenius
> Fix For: 4.4
>
> Attachments: build.properties, DslHelper.java, DslHelperUnitTest.java, JBESB-1504.tar.bz2
>
>
> We have a simple performance that uses ContentBasedRouter to route XML messages:
> <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="regular1" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular2" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular3" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular4" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular5" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular6" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular7" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular8" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular9" service-category="wiretapCategory1" service-name="regularService"/>
> <route-to destination-name="regular0" service-category="wiretapCategory1" service-name="catchService"/>
> </property>
> </action>
> I have created a rule set of 100 rules. Like this:
> package com.jboss.soa.esb.routing.cbr
> import org.jboss.soa.esb.message.Message;
> import org.jboss.soa.esb.message.format.MessageType;
> expander XPathLanguage.dsl
> global java.util.List destinations;
> rule "ProductId1"
> salience 100
> when
> xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "1"
> then
> Destination : "regular1";
> end
> ...
> rule "ProductId299"
> salience 100
> when
> xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "299"
> then
> Destination : "regular0";
> end
> rule "Default rule"
> salience 1
> when
> then
> Destination : "regular0";
> end
> See https://svn.corp.jboss.com/repos/soa/trunk/qa/tests/quickstarts/performance8/MyESBRules-XPath.drl for the whole file.
> The performance is very poor (see SOA-240 for reports). Only a tens of messages per second.
> What's the problem here? Is the Rules engine really so slow? Or is it parsing the file every time a message arrives?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the esb-issues
mailing list