[rules-users] Re: BRMS Server - memory Issue while execution - Critical
Arjun Dhar
dhar_ar at yahoo.com
Fri Jul 20 12:57:00 EDT 2007
> QUESTION:: Is the session maintaining references to those objects ever after
> executing them? Why are the objects not being released?
>
> Specially I'd imagine for a STATELESS session (which is what I've set as
> default).
>
> Using JMeter this system crashes every time under load, even with a single
> Thread. Clearly objects are not being released.
>
> The error I get may help you: (Along with out of memory). This exception only
> comes under Load conditions.
> Admin:ERROR: [com.myserver.brms.demos.certify.web.servlet.CertifyWebRequests]
> [service] :org.drools.spi.ConsequenceException: java.lang.NullPointerException
>
> at org.drools.common.DefaultAgenda.fireActivation
> (DefaultAgenda.java:501)
>
> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:461)
>
> at org.drools.common.AbstractWorkingMemory.fireAllRules
> (AbstractWorkingMemory.java:373)
>
> at org.drools.reteoo.ReteooStatelessSession.execute
> (ReteooStatelessSession.java:72)
>
> at com.myserver.brms.sessions.RulesEngineSessionJBossRules4.execute
> (RulesEngineSessionJBossRules4.java:113)
> at
>
com.myserver.brms.services.execute.recore.batch.ExecuteSessionBatch.executeBatch
> (ExecuteSessionBatch.java:160)
>
> Please help me! This is the only downtime issue I face and unfortunatley its
> the most critical point of failure.
Ok, I think I figured it out. But please confirm.
The Rule Engine Session DOES NOT release objects. (But hten why have a
Stateless session?) if the duration of use of the session is not going to be
long?
The solution: Pool the RuleBase and on a request createa freesh session from it
each time a request comes in!
Let me know if the cocept is sound or what I'm thinking is now correct.
Thanks,
Arjun
More information about the rules-users
mailing list