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(a)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
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users