Drools response time
by elMateo
Dear all,
I need to develop an Expert System for a new project and I want to use
Drools, butI have some restrictions.
The most important restriction: response time of the application must be
less than one second. Also, the application access to one data base to
retrieve some information and send it to the expert systetm.
With this information, can anyone tell me, approximately, the response time
of Drools? It is very important to can use Drools in this project. And we
like very much to use it. (We use in other projects without these
restrictions).
Thank in advance.
Best regards, Jesús.
13 years, 7 months
stuck! Unknown accessor type: org.mvel2.optimizers.impl.refl.collection.ArrayCreator@690c2a7a
by mohdejaz74
Has anyone come across this issue ...
I really need to get this issue fixed.
Any advice would be helpful!
Exception in thread "Thread-163" java.lang.RuntimeException: Unknown
accessor type:
org.mvel2.optimizers.impl.refl.collection.ArrayCreator@690c2a7a
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeAccessor(ConditionAnalyzer.java:246)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:232)
at
org.drools.rule.constraint.ConditionAnalyzer.statementToExpression(ConditionAnalyzer.java:449)
at
org.drools.rule.constraint.ConditionAnalyzer.readInvocationParams(ConditionAnalyzer.java:432)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeAccessor(ConditionAnalyzer.java:327)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeExpressionNode(ConditionAnalyzer.java:308)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeAccessor(ConditionAnalyzer.java:268)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:232)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:109)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:102)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:73)
at
org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)
at
org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:218)
at
org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)
at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:202)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
--
View this message in context: http://drools.46999.n3.nabble.com/stuck-Unknown-accessor-type-org-mvel2-o...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 7 months
JPA vs Marshaller for session persistence
by magnusv
Are there any disadvantages to using the Marshaller instead of JPA for
persistence?
We are running Drools as an embedded service, and we would favor the
Marshaller because we don't want to handle the persisting of the session id
between system reboots. We're currently not using JPA in our system, and it
seems unnecessary to add it just for Drools.
In which scenarios would it be appropriate to use JPA and Marshalling
respectively?
--
View this message in context: http://drools.46999.n3.nabble.com/JPA-vs-Marshaller-for-session-persisten...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 7 months
Re: [rules-users] Planner:5.5.0beta1 chained with 2 planningvariables difficulties
by ge0ffrey
Paul T wrote
> Exception in thread "main" java.lang.IllegalArgumentException: The
> valueSelectorConfig (ValueSelectorConfig(null)) has no configured
> planningVariableName (null) for planningEntityClass (class
> com.domain.Orders) and because there are multiple in the
> planningVariableNameSet ([previousTaskOrEquip, standTime]), it can not be
> deducted automatically.
You'll need to specify the planningVariableName, see the
curriculumCourseSolverConfig.xml for an example how to do that.
This is because there are 2 planning variables, it's independent of whether
or not some of them are chained.
--
View this message in context: http://drools.46999.n3.nabble.com/Planner-5-5-0beta1-chained-with-2-plann...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 7 months
using "from accumulate" with wrong return type
by raffi
Hello,
I have a problem with using the /from accumulate/ statement. It is because
I'd like to optmize my code a liitle bit. There are two rules that I like to
merge.
/query "max recomm value for slot 1"
accumulate (Recommendation(slot == 1, $recomm_value : recommValue),
max : max($recomm_value))
end/
and
/query "recomms for slot 1"
recomm : Recommendation(slot == 1)
end/
So with the first rule I get the maximum of the variable recommValue. The
second rule is for searching exactly this Recommendation-fact with this
value. Now I tried to merge them in the following way:
/
query "recomm for slot 1"
$recomm : Recommendation() from
accumulate(Recommendation(
slot == 1, $recomm_value : recommValue),
max($recomm_value)
)
end/
But the returned value always is a double one. Is it because of the usage of
the maximum function? Is it possible to solve this problem with only one
query (getting that Recommendation-fact with the highest recommValue)?
Regards...
--
View this message in context: http://drools.46999.n3.nabble.com/using-from-accumulate-with-wrong-return...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 7 months
Drools consuming a lot of memory for short lived objects thus impacting average response time.
by manohars
Hello,
We are using Drools 5.3.0 Final distribution using decision tables(.pkg rule
files) in our solution. However, Drools is taking a lot of memory (@ 350 mb
on Linux-64bit).
On profiling,we realize that huge number of short lived objects are getting
created.(org.drools.impl.StatefulKnowledgeSessionImpl, IndexVariableResolver
class and org.mvel2.* classes). It leads increase in Garbage Collection
cycles there by leaving an impact on average response time.
Is there any clever way to use Drools to achieve @ 1 millisecond to 2
millisecond response time given the rules are simple? We tried to use drl
based rules but no improvement.
Any idea about how to deal with this such a big memory contributors ?
Regards,
Manohar
--
View this message in context: http://drools.46999.n3.nabble.com/Drools-consuming-a-lot-of-memory-for-sh...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 7 months
java.lang.LinkageError, but only sometimes
by kennywest
Dear list,
We have an application (A) deployed on JBoss 7.1.1 accepting commands (CQRS,
but only C and Q :) ). A console application (B) is sending a large volume
of commands to create entities in A. Entities in A are validated by Drools
(plain drl files, configured in spring using drools-spring). Most of the
time this works just fine. But sometimes, we get the following exception:
java.lang.LinkageError: loader (instance of
org/drools/rule/JavaDialectRuntimeData$PackageClassLoader): attempted
duplicate class definition for name:
"a/b/c/Rule_person_unique___name_656ee3db19d34e689d95e2d6b2be67b6"
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_30]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
[rt.jar:1.6.0_30]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
[rt.jar:1.6.0_30]
at
org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(JavaDialectRuntimeData.java:615)
[drools-core-5.4.0.Final.jar:5.4.0.Final]
at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:254)
[knowledge-api-5.4.0.Final.jar:5.4.0.Final]
at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237)
[knowledge-api-5.4.0.Final.jar:5.4.0.Final]
at
org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)
[knowledge-api-5.4.0.Final.jar:5.4.0.Final]
at java.lang.ClassLoader.loadClass(ClassLoader.java:295) [rt.jar:1.6.0_30]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) [rt.jar:1.6.0_30]
at
a.b.c.Rule_gg___unique___name_656ee3db19d34e689d95e2d6b2be67b6Eval0InvokerGenerated.evaluate(Unknown
Source)
at
a.b.c.Rule_gg___unique___name_656ee3db19d34e689d95e2d6b2be67b6Eval0Invoker.evaluate(Unknown
Source)
at org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:114)
[drools-core-5.4.0.Final.jar:5.4.0.Final]
Any idea where this is coming from or what's causing this.
We are using:
- JBoss 7.1.1
- drools 5.4.0.Final
- jdk 1.6u30
- Windows 7 64 bit
regards,
Kenneth
--
View this message in context: http://drools.46999.n3.nabble.com/java-lang-LinkageError-but-only-sometim...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 7 months