[rules-users] Hibernate Configuration with Drools 5.4

Wolfgang Laun wolfgang.laun at gmail.com
Tue Jun 19 07:34:41 EDT 2012


On 19/06/2012, Sangram Jethy <sangram.jy at gmail.com> wrote:
> Hi Laun
>
> Tnks for dis wonderfl solution ...I guess our performance issue is solved
> as of now..But I got a small query over it.
>
> 1) When 10k records were there in the DT, the DT was to compile and all
> these 10k rules now stays in the production memory.And we were inserting a
> single fact in working memory.
> 2) But in the approach suggested by you , we got the single rule in the
> production memory but now we have 10k facts to be in working memory.But we
> get a performance enhancement.
>
> Does it means the size and  speed of working memory is more than to
> production memory? Else what is the reason of this performance enhancement?
>

Perhaps this methaphor explains it. If you (=the transaction fact)
have to go through a door (=find the rule) then you can do it more
quickly if someone (= a "row" fact) holds that door open for you.

-W





> Regards
>
> On Tue, Jun 19, 2012 at 4:24 PM, Wolfgang Laun
> <wolfgang.laun at gmail.com>wrote:
>
>> On 19/06/2012, zeeshan <zeeshan.spring at gmail.com> wrote:
>> > Hi Laune,
>> >
>> >
>> >
>> > Thanks very much for your response.  We would like to try and implement
>> > Option 3.
>> >
>> > We assume that the implementation involves setting up individual rows
>> > in
>> > the
>> > excel as a collection of objects and using the From keyword to look up
>> the
>> > output value/row we want based on the input parameter values.
>>
>> Huh? You leave the Excel data as it is except for throwing away the
>> header lines.
>>
>> >  Is it
>> > possible for you to share the relevant code you have created to
>> > implement
>> > this option?
>>
>> This is the rule:
>>
>> rule calculatePremium
>> when
>> $pfc: PremiumCalculatorFactBean( $age: age,
>>                          $policyTerm: policyTerm,
>>                          $interestRate: interestRate,
>>                          $gender: gender,
>>                          $smokingStatus: smokingStatus,
>>                          $channel: channel,
>>                          premiumRate == 0.0 )
>> $p: Premium( age == $age,
>>        policyTerm == $policyTerm,
>>        interestRate == $interestRate,
>>        gender == $gender,
>>        smokingStatus == $smokingStatus,
>>        channel == $channel )
>> then
>>   modify( $pfc ){ setPremiumRate( $p.getPremiumRate() ) }
>> end
>>
>>
>> And a few lines of Java code:
>>
>>    private void makeRates( String csvPath ) throws Exception {
>>        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 != 7 ) continue;
>>            int age = Integer.parseInt( tokens[0] );
>>            int policyTerm  = Integer.parseInt( tokens[1] );
>>            int interestRate = Integer.parseInt( tokens[2] );
>>            String gender = tokens[3].substring( 1, 2 );
>>            String smokingStatus = tokens[4].substring( 1, 2 );
>>            int channel = Integer.parseInt( tokens[5] );
>>            double premiumRate = Double.parseDouble( tokens[6] );
>>
>>            Premium p = new Premium( age, policyTerm, interestRate,
>> gender, smokingStatus, channel, premiumRate );
>>            kSession.insert( p );
>>        }
>>        close( rdr );
>>    }
>>
>> -W
>>
>>
>> >
>> > Thanks !
>> >
>> >
>> > --
>> > View this message in context:
>> >
>> http://drools.46999.n3.nabble.com/Hibernate-Configuration-with-Drools-5-4-tp4017981p4018051.html
>> > Sent from the Drools: User forum mailing list archive at Nabble.com.
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>


More information about the rules-users mailing list