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

Reply via email to