[
https://issues.jboss.org/browse/DROOLS-711?page=com.atlassian.jira.plugin...
]
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)