Hey all,
I'm trying to make my rule more efficient
but I'm not sure how. I've designed my rules based around xml
objects. Basically, I have these documents and XPath queries are
executed against the Object to determine if the rule should be
executed. The problems is, is that we have over 900 rules that need to
be executed. The performance isn't really that bad but I would like to
Make it even better.
To do the job, I have written an XmlUtils
class to execute the expression. The class first gets the
XPathFactory. Then compiles the expression and then executes the
expression. This happens for every expression, and will happen each
time the same expression is executed. I want to make the rules more
efficient by getting the XPathFactory once and compiling the expression
once and then execute the expression n time on the same compiled object.
I would like to know if there is a way I
can have the rule object that is generated by the package build do the
compile of the XPath Expression and then use it instead of compiling it
every time.
Here is a sample of one of my rule criteria.
asset:
AssetDocument()
eval( XmlUtils.evaluatePathBoolean( asset,
"boolean(//ass:asset/ass:properties/ass:property[@name =
'Desk']/ass:value/text() = 'column')") )
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users