[rules-users] java.lang.OutOfMemoryError: Java heap space

vdelbart delbart.v at mipih.fr
Mon Nov 12 04:07:15 EST 2007


Hello,

I add this 4 lines in my code before the session.dispose() and the problem
disapear :

	session.removeEventListener((WorkingMemoryEventListener)logger);
	session.removeEventListener((AgendaEventListener)logger);
	session.removeEventListener((RuleFlowEventListener)logger);
	session.removeEventListener((RuleBaseEventListener)logger);

regards,

V.



vdelbart wrote:
> 
> Good morning,
> 
> I found a workaround : don't use the WorkingMemoryFileLogger !
> 
> I create an issue : http://jira.jboss.com/jira/browse/JBRULES-1325
> 
> regards,
> 
> V.
> 
> 
> vdelbart wrote:
>> 
>> Hello,
>> 
>> In my tests of the 4.0.3, I have some :  java.lang.OutOfMemoryError.
>> 
>> So, I try a simple test with 10.000 sequential execution of 1 rule with
>> no context and just a workingmemorylogger and I have the error :
>> java.lang.OutOfMemoryError: Java heap space
>> 
>> My code is :
>> 
>> public class ExecReglesMemotyTest
>> {
>> 
>> 	private static final Reader DRL = new
>> InputStreamReader(ExecReglesMemotyTest.class
>> 			.getResourceAsStream("/rules/exemple.drl"));
>> 
>> 	private static final String FICHIER_LOG = "session";
>> 
>> 	/**
>> 	 * @param args
>> 	 */
>> 	public static void main(String[] args)
>> 	{
>> 		try
>> 		{
>> 			PackageBuilder builder = new PackageBuilder();
>> 			builder.addPackageFromDrl(DRL);
>> 			RuleBase ruleBase = RuleBaseFactory.newRuleBase();
>> 			ruleBase.addPackage(builder.getPackage());
>> 			for (int i = 0; i < 10000; i++)
>> 			{
>> 				StatefulSession session = ruleBase.newStatefulSession();
>> 				WorkingMemoryFileLogger logger = new
>> WorkingMemoryFileLogger(session);
>> 				logger.setFileName(FICHIER_LOG);
>> 				session.fireAllRules();
>> 				logger.writeToDisk();
>> 				session.dispose();
>> 			}
>> 
>> 		}
>> 		catch (Exception e)
>> 		{
>> 			// TODO Auto-generated catch block
>> 			e.printStackTrace();
>> 		}
>> 	}
>> }
>> 
>> with this rule (doesn't matter):
>> #created on: Fri Nov 09 15:48:45 CET 2007
>> package initPackage
>> 
>> #list any import classes here.
>> 
>> rule "ERG9"
>> when
>> 
>> then
>> 
>> end
>> 
>> I try this in 4.0.1, and it's working (no OutOfMemoryError)
>> 
>> What's the problem ?
>> 
>> thanks for any information,
>> 
>> V.
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/java.lang.OutOfMemoryError%3A-Java-heap-space-tf4779030.html#a13702134
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list