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