Hi,
Thank you for the explanation, Esteban. :)
I'm sorry, but I have still some uncertainties about it.
#1 I'm not sure if I've understood it correct. Is the message displayed every time a resource containing declares is modified or does is it displayed if the declare statements are changed?
#2 The following extract of my original log extract says that the LHS of two rules has been changed. But I haven't modified anything on them. I've just deleted a rule. So what does it mean? Or am I missunderstanding the messages? Because for the the first rule no changes have been detected (and that is what I would expect for all rules except the deleted on.)Thanks :)
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: [Rule name=Warning threshold exceeded to many times, agendaGroup=MAIN, salience=0, no-loop=false] didn't change. Removing from diff package and adding it to unmodified list.
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: Comparing [Rule name=Insert Watcher Into Knowledge Base, agendaGroup=MAIN, salience=0, no-loop=false] against [Rule name=Insert Watcher Into Knowledge Base, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: The rules have different LHS
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: Comparing [Rule name=Add Event to Watcher Set, agendaGroup=MAIN, salience=0, no-loop=false] against [Rule name=Add Event to Watcher Set, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: The rules have different LHS
Tina
Am 23.08.2010 23:33, schrieb Esteban Aliverti:When working on incremental change-set processing mode, Knowledge Agent performs a diff between the original and the modified resources. Modified resources are compiled, and a visitor pattern is used to loop over knowledge definitions (such as rules, functions, queries, etc.).So if rule1 was modified in the new resource, it is removed from the original kbase and replaced with the new implementation. The thing is that kagent doesn't implement a visitor for TypeDeclaration (when you use declare in your DRL to define your model) so it doesn't know how to handle them.I have recently fix a typo in the visitor implementation that prevented you to receive a better message:
"BinaryResourceDiffProducerImpl: Couldn't handle "+yourDefinitionName+". We must leave it in the new Package."
This means that kagent doesn't support modifications on declared types yet.
Best,_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
- Developer @ http://www.plugtree.com
- Blog @ http://ilesteban.wordpress.com
2010/8/23 Tina Vießmann <tviessmann@stud.hs-bremen.de>
Hi,
I'm getting a two red highlighted outputs in eclipse if I modify my rules file during run time. Besides that the modifications seem to work.
What does it mean?
The full output I get when the resource change is detected is listed below. The bold lines are the concerned ones.
Thanks for any help! :)
Tina
[2010:08:235 21:08:296:debug] ResourceChangeScanner attempt to scan 1 resources
[2010:08:235 21:08:296:debug] ResourceChangeScanner modified resource=[ClassPathResource path='testRule.drl'] : 1282559206875 : 1282591705000
[2010:08:235 21:08:296:debug] ResourceChangeNotification received ChangeSet notification
[2010:08:235 21:08:296:debug] ResourceChangeScanner thread is waiting for 10 seconds.
[2010:08:235 21:08:296:debug] ResourceChangeNotification processing ChangeSet
[2010:08:235 21:08:296:debug] ResourceChangeNotification ChangeSet modified resource=[ClassPathResource path='testRule.drl'] for listener=org.drools.agent.impl.KnowledgeAgentImpl@b40ec4
[2010:08:235 21:08:296:debug] KnowledgeAgent received ChangeSet changed notification
[2010:08:235 21:08:296:info] KnowledgeAgent applying ChangeSet
[2010:08:235 21:08:296:debug] KnowledgeAgent removing mappings for resource=[ClassPathResource path='testRule.drl'] with unsubscribe=true
[2010:08:235 21:08:296:debug] KnowledgeAgent notifier unsubscribing to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:296:debug] ResourceChangeNotification unsubscribing listener=org.drools.agent.impl.KnowledgeAgentImpl@b40ec4 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:296:debug] ResourceChangeScanner unsubcribing notifier=org.drools.io.impl.ResourceChangeNotifierImpl@13576a2 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:296:debug] ResourceChangeScanner resource=[ClassPathResource path='testRule.drl'] now has no subscribers
[2010:08:235 21:08:296:debug] KnowledgeAgent rebuilding KnowledgeBase using ChangeSet
[2010:08:235 21:08:296:info] KnowledgeAgent performing an incremental build of the ChangeSet
[2010:08:235 21:08:296:debug] ResourceChangeNotification thread is waiting for queue update
[INFO ] 21:30:10,375 [main] "Event retracted." (DRL Logger)
[2010:08:235 21:08:453:debug] KnowledgeAgent: Diffing: [ClassPathResource path='testRule.drl']
[INFO ] 21:30:10,453 [main] "Event retracted." (DRL Logger)
[2010:08:235 21:08:500:debug] BinaryResourceDiffProducerImpl: [Rule name=delete parameter values, agendaGroup=MAIN, salience=0, no-loop=false] is not present anymore. Adding to removed list.
[2010:08:235 21:08:500:debug] BinaryResourceDiffProducerImpl: org.drools.rule.Function@67fe80 did change. Marking as removed so it new version could be added later.
[2010:08:235 21:08:500:debug] BinaryResourceDiffProducerImpl: Comparing [Rule name=Warning threshold exceeded to many times, agendaGroup=MAIN, salience=0, no-loop=false] against [Rule name=Warning threshold exceeded to many times, agendaGroup=MAIN, salience=0, no-loop=false]
no visitor implementation for : class org.drools.rule.TypeDeclaration : org.drools.rule.TypeDeclaration@95f290
no visitor implementation for : class org.drools.rule.TypeDeclaration : org.drools.rule.TypeDeclaration@bfd66a
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: [Rule name=Warning threshold exceeded to many times, agendaGroup=MAIN, salience=0, no-loop=false] didn't change. Removing from diff package and adding it to unmodified list.
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: Comparing [Rule name=Insert Watcher Into Knowledge Base, agendaGroup=MAIN, salience=0, no-loop=false] against [Rule name=Insert Watcher Into Knowledge Base, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: The rules have different LHS
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: Comparing [Rule name=Add Event to Watcher Set, agendaGroup=MAIN, salience=0, no-loop=false] against [Rule name=Add Event to Watcher Set, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: The rules have different LHS
[2010:08:235 21:08:546:debug] KnowledgeAgent: Removing: [Rule name=delete parameter values, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:546:debug] KnowledgeAgent removing Rule=[Rule name=delete parameter values, agendaGroup=MAIN, salience=0, no-loop=false] from package=net.eads.astrium.aits.cep.rules
[2010:08:235 21:08:546:debug] KnowledgeAgent: Removing: org.drools.rule.Function@67fe80
[2010:08:235 21:08:562:debug] KnowledgeAgent mapping resource=[ClassPathResource path='testRule.drl'] to KnowledgeDefinition=[Rule name=Warning threshold exceeded to many times, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:562:debug] KnowledgeAgent obtaining pkg resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] KnowledgeAgent mapping resource=[ClassPathResource path='testRule.drl'] to KnowledgeDefinition=[Rule name=Insert Watcher Into Knowledge Base, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] ResourceChangeNotification subscribing listener=org.drools.agent.impl.KnowledgeAgentImpl@b40ec4 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] ResourceChangeScanner subcribing notifier=org.drools.io.impl.ResourceChangeNotifierImpl@13576a2 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] KnowledgeAgent mapping resource=[ClassPathResource path='testRule.drl'] to KnowledgeDefinition=[Rule name=Add Event to Watcher Set, agendaGroup=MAIN, salience=0, no-loop=false]
[2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] ResourceChangeNotification subscribing listener=org.drools.agent.impl.KnowledgeAgentImpl@b40ec4 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] KnowledgeAgent mapping resource=[ClassPathResource path='testRule.drl'] to KnowledgeDefinition=org.drools.rule.TypeDeclaration@17dff15
[2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] ResourceChangeNotification subscribing listener=org.drools.agent.impl.KnowledgeAgentImpl@b40ec4 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] KnowledgeAgent mapping resource=[ClassPathResource path='testRule.drl'] to KnowledgeDefinition=org.drools.rule.TypeDeclaration@f5cbda
[2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] ResourceChangeNotification subscribing listener=org.drools.agent.impl.KnowledgeAgentImpl@b40ec4 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] KnowledgeAgent mapping resource=[ClassPathResource path='testRule.drl'] to KnowledgeDefinition=org.drools.rule.Function@11a59ce
[2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] ResourceChangeNotification subscribing listener=org.drools.agent.impl.KnowledgeAgentImpl@b40ec4 to resource=[ClassPathResource path='testRule.drl']
[2010:08:235 21:08:562:debug] KnowledgeAgent adding KnowledgeDefinitionsPackage net.eads.astrium.aits.cep.rules
[2010:08:235 21:08:578:info] KnowledgeAgent incremental build of KnowledgeBase finished and in use
[2010:08:235 21:08:578:debug] KnowledgeAgent finished rebuilding KnowledgeBase using ChangeSet
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users