[rules-users] Compiled rules differ KnowledgeAgent vs ResourceChangeScanner

Mark Proctor mproctor at codehaus.org
Sat Jul 14 19:31:23 EDT 2012


If you think it's a bug, you'll have to submit a jira with self 
contained minimal unit test:
http://docs.jboss.org/drools/release/5.4.0.Final/droolsjbpm-introduction-docs/html/gettingstarted.html

Mark
On 14/07/2012 19:43, lhorton wrote:
> The spring configuration we use does include all the rules files (I was
> incorrect to call it a change set - it's not a true changeset file - it's
> all spring config xml).   I will paste the xml here.  The file in question
> is the one named documentListTable.drl.  I understand that the load process
> will be different between spring initial load and resource scanner
> diff/reload, but if the drl file has identical contents, it seem to me the
> end result should be identical, i.e. the same rules would fire under the
> same conditions in both cases.  However, for this one drl file that is not
> what happens.
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
> 	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	   xmlns:drools="http://drools.org/schema/drools-spring"
> 	   xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> 	   http://drools.org/schema/drools-spring
> http://drools.org/schema/drools-spring.xsd">
>
> 	<drools:resource-change-scanner id="droolsChangeScanner" interval="30"/>
>
> 	<drools:grid-node id="droolsClusterNode1"/>
>
> 	<drools:kbase id="workflowKnowledgeBase" node="droolsClusterNode1">
> 		<drools:configuration>
> 			<drools:consequenceExceptionHandler
> handler="com.abclegal.rules.utility.RulesConsequenceExceptionHandler"/>
> 		</drools:configuration>
> 	</drools:kbase>
> 	<drools:kbase id="persistedKnowledgeBase" node="droolsClusterNode1">
> 		<drools:configuration>
> 			<drools:consequenceExceptionHandler
> handler="com.abclegal.rules.utility.RulesConsequenceExceptionHandler"/>
> 		</drools:configuration>
> 	</drools:kbase>
> 	<drools:kbase id="activityKnowledgeBase" node="droolsClusterNode1">
> 		<drools:configuration>
> 			<drools:consequenceExceptionHandler
> handler="com.abclegal.rules.utility.RulesConsequenceExceptionHandler"/>
> 		</drools:configuration>
> 	</drools:kbase>
> 	<drools:kbase id="instructionsKnowledgeBase" node="droolsClusterNode1">
> 		<drools:configuration>
> 			<drools:consequenceExceptionHandler
> handler="com.abclegal.rules.utility.RulesConsequenceExceptionHandler"/>
> 		</drools:configuration>
> 	</drools:kbase>
> 	<drools:kbase id="validationKnowledgeBase" node="droolsClusterNode1">
> 		<drools:configuration>
> 			<drools:consequenceExceptionHandler
> handler="com.abclegal.rules.utility.RulesConsequenceExceptionHandler"/>
> 		</drools:configuration>
> 	</drools:kbase>
> 	<drools:kbase id="invoiceKnowledgeBase" node="droolsClusterNode1">
> 		<drools:configuration>
> 			<drools:consequenceExceptionHandler
> handler="com.abclegal.rules.utility.RulesConsequenceExceptionHandler"/>
> 		</drools:configuration>
> 	</drools:kbase>
>
> 	<drools:kagent id="workflowKnowledgeAgent" kbase="workflowKnowledgeBase"
> new-instance="false">
> 		<drools:resources>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/preprocessing/trackedDocuments.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/workflow.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/addressValidation.drl"/>
>              <drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/documentList.drl"/>
>              <drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/documentListTable.drl"/>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/filingFees.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/partners/setPartner.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/partners/setReturnPartner.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/serviceStepEvaluation.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/serviceCompleted.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
>              <drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/notServedConsequences.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
>              <drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/setNonServiceType.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/rulesJobSchedule.xls">
> 				<drools:decisiontable-conf input-type="XLS" worksheet-name="Schedule"/>
> 			</drools:resource>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/statusChanges.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/stepCreation.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/investigation/investigation.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/applyServiceRequirements.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/attachedFiles.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/accounting/products.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/accounting/futureProducts.drl"/>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/accounting/products.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/accounting/productBilling.drl"/>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/accounting/productLocation.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/payments/payments.drl"/>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/payments/payServiceAttemptBase.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/payments/payServiceAttemptAdjustments.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/payments/payItemCostAllocation.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/payments/prepayment.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/cancellationConsequences.drl"/>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/investigation/addressScoring.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="PKG"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/venue/venueSelection.pkg"/>
> 			<drools:resource type="PKG"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/venue/venueSelectionLosAngeles.pkg"/>
>              <drools:resource type="PKG"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/venue/venueSelectionFL.pkg"/>
> 		</drools:resources>
> 	</drools:kagent>
>
> 	<drools:kagent id="persistedKnowledgeAgent" kbase="persistedKnowledgeBase"
> new-instance="false">
> 		<drools:resources>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/export/customerExport.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/export/documentExport.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/export/invoiceExport.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/export/payExport.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/export/emailExport.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/publish/customerPublish.drl"/>
> 		</drools:resources>
> 	</drools:kagent>
>
> 	<drools:kagent id="activityKnowledgeAgent" kbase="activityKnowledgeBase"
> new-instance="false">
> 		<drools:resources>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/editActivity.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/checkpoint.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/generatePrintJobRules.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/generateDocumentRules-docmaker.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/generateDocumentRules-coversheets.drl"/>
>              <drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/generateDocumentRules-proofs.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/FilingConfirmationUI.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
>              <drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/ReviewNonServiceUI.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
>              <drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/checkPointServerSuggestions.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/activities.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="activities"/>
> 			</drools:resource>
> 			<drools:resource type="DTABLE"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/activities/electronicSignatureRules.xls">
> 				<drools:decisiontable-conf input-type="XLS"
> worksheet-name="DecisionTable"/>
> 			</drools:resource>
> 		</drools:resources>
> 	</drools:kagent>
>
> 	<drools:kagent id="instructionsKnowledgeAgent"
> kbase="instructionsKnowledgeBase" new-instance="false">
> 		<drools:resources>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/instructions/applyInstructions.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/workflow/documentProductionWorkflow.drl"/>
>              <drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/instructions/stepEscalation.drl"/>
> 		</drools:resources>
> 	</drools:kagent>
>
> 	<drools:kagent id="validationKnowledgeAgent"
> kbase="validationKnowledgeBase" new-instance="false">
> 		<drools:resources>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/validation/serviceRequirements.drl"/>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/validation/checkPointValidation.drl"/>
> 		</drools:resources>
> 	</drools:kagent>
> 	
> 	<drools:kagent id="invoiceKnowledgeAgent" kbase="invoiceKnowledgeBase"
> new-instance="false">
> 		<drools:resources>
> 			<drools:resource type="DRL"
> source="file:///usr/local/tomcat-rules/webapps/rules/packages/accounting/invoices.drl"/>
> 		</drools:resources>
> 	</drools:kagent>
>
> </beans>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/Compiled-rules-differ-KnowledgeAgent-vs-ResourceChangeScanner-tp4018608p4018688.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users




More information about the rules-users mailing list