The bug was caused by one of the
InputStreams that was not closed properly which caused the
knowledgeAgent to block.
I think my issues are solved now.
Thanks for looking into this.
Kind Regards,
Op 31/07/2013 14:19, De Rooms Brecht schreef:
Hello David and thanks for
responding.
I know it supports these event listeners and I use them. In
my program, I have two knowledge agents and the first one
(preprocessing) will read the file, preprocess a DRL and
then write a second modified DRL file in a folder that is
monitored by the second one. When I modify the original DRL
file (1. in prints below) monitored by the
preprocessing agent, everything works fine and the rule is
triggered (2.). However, when I delete a file
(3.), the knowledgeAgent just blocks after
AfterChangeSetAppliedEvent and does not do anything
anymore.. If I send new data in the knowledgeAgent it does
not react anymore.
I would expect to get a stacktrace of what went wrong but I
do not get any info besides of the systemeventlistener or
knowledgeagentlistener. Is there any way I can get a
stacktrace?
Kind Regards,
De Rooms Brecht
1. Resources Changed => Modified: [[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']]
eventListener 1:::
==>[BeforeResourceProcessedEvent(RESOURCE_REMOVED):
[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']]
eventListener 1:::
==>[AfterResourceProcessedEvent(RESOURCE_REMOVED):
[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']]
eventListener 1:::
==>[AfterChangeSetProcessedEvent:
ChangeSetImpl{resourcesRemoved=[], resourcesAdded=[],
resourcesModified=[[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']],
knowledgeDefinitionsRemoved=[]}]
eventListener 1:::
==>[ResourceCompilationFailedEvent:
org.drools.builder.impl.KnowledgeBuilderImpl@70d0d127]
eventListener 1:::
==>[KnowledgeBaseUpdatedEvent:
org.drools.impl.KnowledgeBaseImpl@49669be]
eventListener 1:::
==>[AfterChangeSetAppliedEvent:
ChangeSetImpl{resourcesRemoved=[], resourcesAdded=[],
resourcesModified=[[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']],
knowledgeDefinitionsRemoved=[]}]
eventListener 2:::
==>[BeforeChangeSetAppliedEvent:
ChangeSetImpl{resourcesRemoved=[], resourcesAdded=[],
resourcesModified=[[FileResource
file='knowledge\packaged\test.brules.testRule.drl']],
knowledgeDefinitionsRemoved=[]}]
eventListener 2:::
==>[BeforeResourceProcessedEvent(RESOURCE_REMOVED):
[FileResource
file='knowledge\packaged\test.brules.testRule.drl']]
eventListener 2:::
==>[AfterResourceProcessedEvent(RESOURCE_REMOVED):
[FileResource
file='knowledge\packaged\test.brules.testRule.drl']]
eventListener 2:::
==>[AfterChangeSetProcessedEvent:
ChangeSetImpl{resourcesRemoved=[], resourcesAdded=[],
resourcesModified=[[FileResource
file='knowledge\packaged\test.brules.testRule.drl']],
knowledgeDefinitionsRemoved=[]}]
eventListener 2:::
==>[KnowledgeBaseUpdatedEvent:
org.drools.impl.KnowledgeBaseImpl@11c834d1]
2. Rules are triggered when the PKG file its knowledge
is updated:
Changed This Rule::: Got Event: TestEvent(
number=5, message=doesDynamicEventTypeWork? )
Changed This Rule::: Got Event: TestEvent(
number=4, message=doesDynamicEventTypeWork? )
Changed This Rule::: Got Event: TestEvent(
number=2, message=doesDynamicEventTypeWork? )
Changed This Rule::: Got Event: TestEvent(
number=1, message=doesDynamicEventTypeWork? )
Changed This Rule::: Got Event: TestEvent(
number=2, message=doesDynamicEventTypeWork? )
Changed This Rule::: Got Event: TestEvent(
number=1, message=doesDynamicEventTypeWork? )
Changed This Rule::: Got Event: TestEvent(
number=2, message=doesDynamicEventTypeWork? )
Changed This Rule::: Got Event: TestEvent(
number=1, message=doesDynamicEventTypeWork? )
eventListener 2:::
==>[AfterChangeSetAppliedEvent:
ChangeSetImpl{resourcesRemoved=[], resourcesAdded=[],
resourcesModified=[[FileResource
file='knowledge\packaged\test.brules.testRule.drl']],
knowledgeDefinitionsRemoved=[]}]
eventListener 1:::
==>[BeforeChangeSetAppliedEvent:
ChangeSetImpl{resourcesRemoved=[[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']],
resourcesAdded=[], resourcesModified=[],
knowledgeDefinitionsRemoved=[]}]
eventListener 1:::
==>[BeforeChangeSetProcessedEvent:
ChangeSetImpl{resourcesRemoved=[[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']],
resourcesAdded=[], resourcesModified=[],
knowledgeDefinitionsRemoved=[]}]
3. Resources Changed =>
Removed: [[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']]
eventListener 1:::
==>[BeforeResourceProcessedEvent(RESOURCE_MODIFIED):
[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']]
eventListener 1:::
==>[AfterResourceProcessedEvent(RESOURCE_MODIFIED):
[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']]
eventListener 1:::
==>[AfterChangeSetProcessedEvent:
ChangeSetImpl{resourcesRemoved=[[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']],
resourcesAdded=[], resourcesModified=[],
knowledgeDefinitionsRemoved=[]}]
eventListener 1:::
==>[KnowledgeBaseUpdatedEvent:
org.drools.impl.KnowledgeBaseImpl@49669be]
eventListener 1:::
==>[AfterChangeSetAppliedEvent:
ChangeSetImpl{resourcesRemoved=[[FileResource
file='knowledge\realtimeKnowledge\test.brules.testRule.drl']],
resourcesAdded=[], resourcesModified=[],
knowledgeDefinitionsRemoved=[]}]
.... and then it was quiet....
Op 31/07/2013 09:42, Davide Sottara schreef:
The KA logs to a SystemEventListener, and supports a dedicated event
listener for
additions/updates/etc...
You can do:
kagent.setSystemEventListener( new PrintStreamSystemEventListener() );
kagent.addEventListener( new DebugKnowledgeAgentEventListener( ) );
On 07/30/2013 01:55 AM, De Rooms Brecht wrote:
Dear Drools users,
I have been testing with the KnowledgeAgent from version 5.4 and 5.5. It
monitors a changeset and is set to incrementally build the
knowledgebase. I noticed that it sometimes crashes but never throws out
errors. This happens for example when I define a type two times and when
I remove a file. Does anyone experience similar behaviour and has an
idea of how I could see the errors? I already tried to check the errors
by building it myself using a knowledgebuilder before I update the file
that the knowledgeAgent monitors but that's quite a dirty solution.
Kind Regards,
De Rooms Brecht
_______________________________________________
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
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users