[rules-users] Starting resource change scanner and notifier in drools-server.

Jason Davidson jljdavidson at gmail.com
Thu Nov 4 11:11:14 EDT 2010


I've move both the changeset.xml and my PKG files to a file location (not on
the class path).  It still doesn't detect when the PKG files have been
updated.

changeset.xml:

<change-set xmlns='http://drools.org/drools-5.0/change-set'

    xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'

    xs:schemaLocation='http://drools.org/drools-5.0/change-set
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd
' >

    <add>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.validation.financial.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.validation.judicial.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.validation.person.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.validation.user.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.validation.cases.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.validation.edocuments.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.financial.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.dcm.pkg"/>

      <resource type="PKG" source=
"file:/Users/jljdavidson/temp/jworks.cases.pkg"/>

    </add>

</change-set>

Spring config:

  <drools:resource-change-scanner id="scanner" interval="10" />

  <drools:kbase id="ruleKBase">

  </drools:kbase>

  <drools:kagent id="ruleKAgent" kbase="ruleKBase">

    <drools:resources>

     <drools:resource type="CHANGE_SET" source=
"file:/Users/jljdavidson/temp/drools-changeset.xml"/>

    </drools:resources>

  </drools:kagent>


 Could it be because I'm using PKGs instead of DRL files?

Thanks!!
Jason

2010/11/3 Mark Proctor <mproctor at codehaus.org>

>  It won't detect changes on the classpath. Needs to be file or http.
>
> Mark
>
> On 03/11/2010 21:49, Jason Davidson wrote:
>
> Hello,
>
>  Any tips on this?  I'm seeing this same behavior using Drools 5.1.1:
>
>  Spring Beans:
>
>   <!-- Drools : -->
>
>   <drools:resource-change-scanner id="scanner" interval="10" />
>
>   <drools:kbase id="ruleKBase">
>
>   </drools:kbase>
>
>   <drools:kagent id="kagent1" kbase="ruleKBase">
>
>     <drools:resources>
>
>      <drools:resource type="CHANGE_SET" source=
> "classpath:drools-changeset.xml"/>
>
>     </drools:resources>
>
>   </drools:kagent>
>
>  Changeset:
>
> <change-set xmlns='http://drools.org/drools-5.0/change-set'
>
>     xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
>
>     xs:schemaLocation='http://drools.org/drools-5.0/change-set
> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd
> ' >
>
>     <add>
>
>       <resource source="
> http://10.1.109.54:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/com.cjs.jworks.rules.cases/LATEST
> "
>
>            type='PKG' basicAuthentication="enabled" username="admin"
> password="admin" />
>
>     </add>
>
> </change-set>
>
>
>
>  At startup I see that the KnowledgeAgent registers a listener but never
> detects changes:
>
> [2010:11:307 15:11:506:info] ResourceChangeScanner reconfigured with
> interval=60
>
> [2010:11:307 15:11:506:info] ResourceChangeScanner created with default
> interval=60
>
> [2010:11:307 15:11:506:info] ResourceChangeScanner reconfigured with
> interval=10
>
> [2010:11:307 15:11:528:info] ResourceChangeNotification created
>
> [2010:11:307 15:11:528:debug] ResourceChangeNotification monitor added
> monitor=org.drools.io.impl.ResourceChangeScannerImpl at 616181be
>
> [2010:11:307 15:11:529:debug] KnowledgeAgent building resource map
>
> [2010:11:307 15:11:529:info] KnowledegAgent has started listening for
> ChangeSet notifications
>
> [2010:11:307 15:11:529:info] KnowledgeAgent created, with configuration:
>
> monitorChangeSetEvents=true scanResources=true scanDirectories=true
> newInstance=true
>
> [2010:11:307 15:11:530:info] KnowledgeAgent applying ChangeSet
>
> [2010:11:307 15:11:531:debug] KnowledgeAgent processing sub
> ChangeSet=[ClassPathResource path='drools-changeset.xml']
>
> [2010:11:307 15:11:919:debug] KnowledgeAgent notifier subscribing to
> resource=[UrlResource path='
> http://10.1.109.54:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/com.cjs.jworks.rules.cases/LATEST
> ']
>
> [2010:11:307 15:11:920:debug] ResourceChangeNotification subscribing
> listener=org.drools.agent.impl.KnowledgeAgentImpl at d2a7c1e to
> resource=[UrlResource path='
> http://10.1.109.54:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/com.cjs.jworks.rules.cases/LATEST
> ']
>
> [2010:11:307 15:11:920:debug] ResourceChangeScanner subcribing
> notifier=org.drools.io.impl.ResourceChangeNotifierImpl at 603a9c52 to
> resource=[UrlResource path='
> http://10.1.109.54:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/com.cjs.jworks.rules.cases/LATEST
> ']
>
> [2010:11:307 15:11:920:debug] KnowledgeAgent rebuilding KnowledgeBase using
> ChangeSet
>
>
>  Thanks!
>
> Jason
>
>
>   2010/9/23 Clandes Tino <clandestino_bgd at yahoo.co.uk>
>
>>   Hi,
>> I've also faced the same problem.
>> Hope somebody could give a hint.
>>
>> thanks & best,
>> milan
>>
>> --- On *Mon, 20/9/10, Graham Thomson <gthomson at fizzback.com>* wrote:
>>
>>
>> From: Graham Thomson <gthomson at fizzback.com>
>> Subject: [rules-users] Starting resource change scanner and notifier in
>> drools-server.
>> To: rules-users at lists.jboss.org
>> Date: Monday, 20 September, 2010, 15:24
>>
>>
>>
>> Hi,
>>
>> I would like to ask for help with setting up drools-server with Guvnor. I
>> am using version 5.1.1 of both.
>>
>> I am trying to set up an instance of drools-server in Tomcat that
>> periodically loads new updates of packages published in Guvnor (both
>> drools-server and Guvnor run in the same instance of Tomcat).
>>
>> My change set definition is as follows:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <change-set xmlns='http://drools.org/drools-5.0/change-set'<http://drools.org/drools-5.0/change-set%27>
>>   xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'<http://www.w3.org/2001/XMLSchema-instance%27>
>>   xs:schemaLocation='http://drools.org/drools-5.0/change-set
>>
>> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'<http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd%27>
>> >
>>   <add>
>>     <resource source='
>> http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/<one
>> of my packages>/LATEST'
>>       type='PKG' basicAuthentication="enabled" username="<username>"
>> password="" />
>>     <resource source="
>> http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/<another
>> of my packages>/LATEST"
>>       type="PKG" basicAuthentication="enabled" username="<username>"
>> password="" />
>>   </add>
>> </change-set>
>>
>> My knowledge-services.xml configuration is as follows (based on the unit
>> test examples highlighted in
>> http://article.gmane.org/gmane.comp.java.drools.user/20992/match=drools+spring
>> ):
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns="http://www.springframework.org/schema/beans"
>>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>        xmlns:drools="http://drools.org/schema/drools-spring"
>>        xsi:schemaLocation="http://www.springframework.org/schema/beans
>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>>                            http://drools.org/schema/drools-spring
>> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring-1.0.0.xsd
>> ">
>>
>>   <drools:resource-change-scanner id="s1" interval="5" />
>>
>>   <drools:execution-node id="node1" />
>>
>>   <drools:ksession id="ksession1" type="stateless" kbase="kbase1"
>> node="node1"/>
>>
>>   <drools:kbase id="kbase1" node="node1" />
>>
>>   <drools:kagent id="kagent1" kbase="kbase1">
>>     <drools:resources>
>>       <drools:resource type="CHANGE_SET" source="classpath:changeset.xml"
>> />
>>     </drools:resources>
>>   </drools:kagent>
>>
>> </beans>
>>
>> On loading drools-server, the resources listed in the change set are
>> loaded and available.
>>
>> The problem is that when a new package built and published in Guvnor,
>> drools-server does not detect this and update itself. The effect is the same
>> as if a KnowledgeAgent were used locally and
>>
>>   ResourceFactory.getResourceChangeNotifierService().start();
>>   ResourceFactory.getResourceChangeScannerService().start();
>>
>> were not called. This leads me to the assumption that drools-server does
>> not start these services by default.
>>
>> My question is then can/how do I configure drools-server to start these
>> services such that it will update new changes from Guvnor automatically?
>>
>>
>> Thanks a lot for any help you can offer,
>>
>> Cheers,
>>
>> Graham.
>>
>>  -----Inline Attachment Follows-----
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org<http://uk.mc255.mail.yahoo.com/mc/compose?to=rules-users@lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20101104/c91c4bd2/attachment.html 


More information about the rules-users mailing list