[rules-users] KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage

Jaroslaw Kijanowski kijanowski at gmail.com
Mon Jan 18 08:18:12 EST 2010


Hi,

HonorGod wrote:
> I am getting the following error while accessing decision tables that were
> uploaded in Guvnor -
> 
> java.lang.RuntimeException: KnowledgeAgent exception while trying to
> deserialize KnowledgeDefinitionsPackage  
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:418)
.
.
.
> Caused by: java.io.FileNotFoundException:
> http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/packages/CorporateAction/

This is not a valid package, should be
"package/CorporateAction/LATEST"
instead of
"package*s*/CorporateAction/"

'LATEST' is the name of your latest build, it could be also a snapshot.

Cheers,
  Jarek


> 	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
> Source)
> 	at org.drools.io.impl.UrlResource.getInputStream(UrlResource.java:76)
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:407)
> 	... 6 more
> 
> ----------------
> Java Code
> 
>     private StatefulKnowledgeSession getSession() {
>         
>         LogUtil.caRecommendationLogger.info("Getting session for Rules
> Engine ...");
>         // Set the interval on the ResourceChangeScannerService if you are
> to use it
>         // and default of 60s is not desirable.
>         final ResourceChangeScannerConfiguration sconf =
> ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
>         // set the disk scanning interval to 30s, default is 60s
>         sconf.setProperty("drools.resource.scanner.interval", "30");
> 
>         ResourceFactory.getResourceChangeScannerService().configure(sconf);
> 
>         knowledgeBaseFromDecisionTable =
> KnowledgeBaseFactory.newKnowledgeBase();
> 
>         final KnowledgeAgentConfiguration aconf =
> KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
> 
>         // we want to scan directories, not just files, turning this on
> turns on file
>         // scanning
>         aconf.setProperty("drools.agent.scanDirectories", "true");
>         // resource changes results in a new instance of the KnowledgeBase
> being
>         // built, this cannot currently be set to false for incremental
> building
>         aconf.setProperty("drools.agent.newInstance", "true");
> 
>         final KnowledgeAgent kagent =
> KnowledgeAgentFactory.newKnowledgeAgent("kagent",
> knowledgeBaseFromDecisionTable, aconf);
>        
> kagent.applyChangeSet(ResourceFactory.newClassPathResource("changeset.xml"));
>        
> //kagent.applyChangeSet(ResourceFactory.newFileResource("c:/changeset.xml"));
>         return kagent.getKnowledgeBase().newStatefulKnowledgeSession();
> 
>     } 
> -----------------
> changeset.xml
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <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
> drools-change-set-5.0.xsd'>
>         <add>
>                 <resource
> source='http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/packages/CorporateAction/'
> type='PKG' />
>         </add>
> </change-set> 
> 
> 
> Please help. 
> 
> Thanks!
> 



More information about the rules-users mailing list