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.)
[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=/_I_nsert 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*
Thanks :)
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,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
- Developer @
http://www.plugtree.com <
http://www.plugtree.com>
- Blog @
http://ilesteban.wordpress.com
2010/8/23 Tina Vießmann <tviessmann(a)stud.hs-bremen.de
<mailto: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(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users