[rules-users] Using global variable in DRL file
zeeshan
zeeshan.spring at gmail.com
Thu Jul 26 05:37:34 EDT 2012
Hi Mike !
Earlier I tried it inserting as a Fact in using Statefull Session in my
RuleMain.java but was facing Java Heap Space error.......so I tried
Declaring as a Global in RuleMain.java like this----
HashMap<String, Object> globals = new HashMap<String, Object>();
StatefulSession statefulSession=new
RuleRunner().getStatefulSession(RULES_FILES8,null,null, globals, null);
...
....
//local block for Agent
{
System.out.println("agent block>>>>>>>>>>>>>>>>");
String csvPath="C:/Users/new_user/Desktop/CIMS/ABAgent.csv";
try{
File f = new File(csvPath);
InputStream is = new FileInputStream( f );
Reader rdr = new InputStreamReader( is );
LineNumberReader lnrdr = new LineNumberReader( rdr );
String line;
while( (line = lnrdr.readLine()) != null ){
if( line.charAt(0) == '"' ) continue;
String[] tokens = line.split( ";" );
if( tokens.length != 3 ) continue;
int agentId = Integer.parseInt( tokens[0] );
int agentNo = Integer.parseInt( tokens[1] );
String agentStatus = tokens[2];
/* System.out.println("1>>"+agentId);
System.out.println("2>>"+agentNo);
System.out.println("3>>"+agentStatus);*/
CSVBeanAgent csvAg = new CSVBeanAgent();
csvAg.setAgentId(agentId);
csvAg.setAgentNo(agentNo);
csvAg.setAgentStatus(agentStatus);
//statefulSession.insert(csvAg);
*globals.put(csvAg.getAgentId()+"", csvAg);*
}
}catch (Exception e) {
System.out.println(e);
}
}
System.out.println("fire all rule>>>>>>>>");
statefulSession.fireAllRules();
//statefulSession2.fireAllRules();
log.debug("============ End Firing Rules =========");
// Close the session
statefulSession.dispose();
}
}
--
View this message in context: http://drools.46999.n3.nabble.com/Using-global-variable-in-DRL-file-tp4018911p4018915.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list