[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