Performance problem when using JNDI binding for serialization
-------------------------------------------------------------
Key: DROOLS-463
URL: http://jira.codehaus.org/browse/DROOLS-463
Project: drools
Type: Bug
Components: semantics.java
Versions: 2.1
Environment: Weblogic 8.1
Windows XP
Reporter: Galvin Hsiu
Fix For: 2.5
In the drools documentation for "Using Rules at Runtime" it states -
A RuleBase may be a managed object which is deployed by an administrator within
a JNDI directory. This method of deployment allows an application to be
isolated from changes in the rules. The rules can be easily altered and
redeployed, enabling an on-the-fly modification of the behaviour of an
application (etc).
However, in the semantic java module, there are a number of classes which
contains the transient fields:
JavaCondition
JavaBlockConsequence
JavaFunctions
PythonInterp
This means whenever a rulebase is bound to JNDI tree, these java conditions and
block consequences need to be reconstructed whenever a rulebase is looked up or
materialized from JNDI, triggering a janino compile call.
Under high load, the majority of time is spent in the janino compile method
whereas if the JavaCondition / JavaBlockConsequence was declared nontransient,
the compilation step can be skipped, improving performance under load.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira