Hi,
#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?
The message will appear every time a resource containing a type definition
is modified.
#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.)
This is strange. This message should only appear if the LHS of a rule has
changed. I will take a look to see if this is a bug.
Best,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
- Developer @
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=*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*
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
- Blog @
http://ilesteban.wordpress.com
2010/8/23 Tina Vießmann <tviessmann(a)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
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing
listrules-users@lists.jboss.orghttps://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