[jboss-jira] [JBoss JIRA] (DROOLS-711) Kie Server unable to build KieBase which builds fine with kie-maven-plugin and unit test
Hendy Irawan (JIRA)
issues at jboss.org
Fri Jun 17 10:57:01 EDT 2016
[ https://issues.jboss.org/browse/DROOLS-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13254176#comment-13254176 ]
Hendy Irawan edited comment on DROOLS-711 at 6/17/16 10:56 AM:
---------------------------------------------------------------
I get this error with 6.4.0.Final, but I'm not sure if it's exactly the same cause.
{noformat}
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'droolsConfig': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kieBase' defined in class path resource [org/lskk/lumen/reasoner/DroolsConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.kie.api.KieBase]: Circular reference involving containing bean 'droolsConfig' - consider declaring the factory method as static for independence from its containing instance. Factory method 'kieBase' threw exception; nested exception is java.lang.RuntimeException: Error while creating KieBase[Message [id=1, level=ERROR, path=rabbitmq.drl, line=25, column=0
text=Field Reader does not exist for declaration '$delayMillis' in '$delayMillis : delayMillis' in the rule 'Send SemanticMessage to RabbitMQ'], Message [id=2, level=ERROR, path=story.drl, line=22, column=0
text=Field Reader does not exist for declaration '$id' in '$id : id' in the rule 'get random story']]
{noformat}
story.drl :
{noformat}
dialect "mvel"
import org.lskk.lumen.reasoner.*
import org.lskk.lumen.reasoner.event.*
import org.lskk.lumen.reasoner.expression.*
import org.lskk.lumen.reasoner.intent.*
import org.lskk.lumen.reasoner.story.*
global org.slf4j.Logger log
global StoryRepository storyRepo
declare TellStory
@role( event )
end
declare PropositionTold
@role( event )
end
rule "get random story"
when
$intent : TellStory(story == null, $id : id)
then
log.info("Setting story for intent {}", $intent);
modify($intent) {
setStoryId("soon_see"),
setStory(storyRepo.findOne("soon_see"))
}
end
rule "tell initial proposition"
when
$tellStory : TellStory(story != null)
not( PropositionTold(tellStory == $tellStory) )
then
log.info("Telling initial proposition for {}", $tellStory);
PropositionTold $propositionTold = new PropositionTold($tellStory, 0);
insert($propositionTold);
boolean done = $propositionTold.index >= $tellStory.story.propositions.size - 1;
if (done) {
log.info("Done telling {} propositions for {}", $tellStory.story.propositions.size, $tellStory);
}
modify($tellStory) {
setLastPropositionIndex($propositionTold.index),
setDone(done)
}
end
rule "tell next proposition until done"
when
$lastProposition : PropositionTold($tellStory : tellStory, $lastIndex : index,
tellStory.done == false)
not( PropositionTold(tellStory == $tellStory, index == $lastIndex + 1, this after[0s,10s] $lastProposition) )
then
log.debug("Telling proposition {} for {}", $lastIndex + 1, $tellStory);
PropositionTold $propositionTold = new PropositionTold($tellStory, $lastIndex + 1);
insert($propositionTold);
boolean done = $propositionTold.index >= $tellStory.story.propositions.size - 1;
if (done) {
log.info("Done telling {} propositions for {}", $tellStory.story.propositions.size, $tellStory);
}
modify($tellStory) {
setLastPropositionIndex($propositionTold.index),
setDone(done)
}
end
rule "communicate proposition"
when
$proposition : PropositionTold($tellStory : tellStory, $index : index)
then
log.debug("Expressing proposition {} for {}", $index, $tellStory);
$tellStory.channel.express($tellStory.avatarId, $tellStory.story.propositions[$index], true, null);
end
{noformat}
was (Author: ceefour):
I get this error with 6.4.0.Final, but I'm not sure if it's exactly the same cause.
{noformat}
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'droolsConfig': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kieBase' defined in class path resource [org/lskk/lumen/reasoner/DroolsConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.kie.api.KieBase]: Circular reference involving containing bean 'droolsConfig' - consider declaring the factory method as static for independence from its containing instance. Factory method 'kieBase' threw exception; nested exception is java.lang.RuntimeException: Error while creating KieBase[Message [id=1, level=ERROR, path=rabbitmq.drl, line=25, column=0
text=Field Reader does not exist for declaration '$delayMillis' in '$delayMillis : delayMillis' in the rule 'Send SemanticMessage to RabbitMQ'], Message [id=2, level=ERROR, path=story.drl, line=22, column=0
text=Field Reader does not exist for declaration '$id' in '$id : id' in the rule 'get random story']]
{noformat}
> Kie Server unable to build KieBase which builds fine with kie-maven-plugin and unit test
> ----------------------------------------------------------------------------------------
>
> Key: DROOLS-711
> URL: https://issues.jboss.org/browse/DROOLS-711
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.2.0.CR4, 6.2.0.Final
> Environment: kie-server on WildFly 8.2.0.Final running with JDK 8
> Reporter: Matteo Mortari
> Assignee: Mario Fusco
> Attachments: 20150213.DROOLS-711.zip
>
>
> I have deployed Kie Server kie-server-distribution-wars-6.2.0.CR4-ee7.war on WildFly 8.2.0.Final.
> I have a simple rule base in the project {{client-test-rules}} as per below, in a kie project structured as kie-drools-archetype, which passes all test and install in m2 repo with {{mvn clean install}}.
> {code:java}
> package com.acme.client_test_rules;
> declare Measurement
> @role(event)
> end
> rule "keep latest Measurement ID"
> salience 1000
> no-loop
> when
> $old : Measurement( $id : id )
> $new : Measurement( id == $id , this after $old )
> then
> System.out.println("keep latest old : "+$old+" new (kept): "+$new);
> retract($old);
> end
> {code}
> Then I issue Kie Server commands, using the client library, using project {{client-test}} to instantiate a container for the same artifact, but in the wildfly logs I get the following error below - which doesn't happen for kie-maven-plugin nor during unit test. Please note I'm assuming user {{kieserver}} with password {{kieserver}} is a valid user for the Kie Server Realm, or configure wildfly or the code in the project {{client-test}} accordingly to your environment =).
> {code}
> 09:41:41,700 ERROR [org.drools.compiler.kie.builder.impl.AbstractKieModule] (default task-4) Unable to build KieBaseModel:kbase1
> Unable to create Field Extractor for 'id'Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
> : [Rule name='keep latest Measurement ID']
> java.lang.RuntimeException: Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
> Unable to create Field Extractor for 'id'Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
> : [Rule name='keep latest Measurement ID']
> java.lang.RuntimeException: Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
> Field Reader does not exist for declaration '$id' in 'predicate 'id == $id'' in the rule 'keep latest Measurement ID' : [Rule name='keep latest Measurement ID']
> Unable to Analyse Expression id == $id:
> [Error: unable to resolve method using strict-mode: com.acme.client_test_rules.Measurement.id()]
> [Near : {... id == $id ....}]
> ^
> [Line: 12, Column: 4] : [Rule name='keep latest Measurement ID']
> {code}
> Can you kindly verify if some bug is hiding behind this odd behavior, please?
> Thank you
> MM
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list