[rules-users] Jbilling Drools performance

Antonio Anderson Souza antonio at voicetechnology.com.br
Fri May 14 15:16:48 EDT 2010


Dear Greg,

Thanks very much for your reply.

I'm using sequential mode = true

Is there a way to create this PhoneNumber class, and convert the String to
the PhoneNumber object inside the Drools? Because I'm using a system called
JBilling and it send the phoneNumber as a String.

Sorry if those are basic questions, but I'm a newbie in Drools...

Thank you very much,

Antonio Anderson Souza
Voice Technology
http://www.antonioams.com


2010/5/14 Greg Barton <greg_barton at yahoo.com>

> Right off the bat I'd say try to get rid of the eval usage.  Can you put
> the phone number into an object like this:
>
> class PhoneNumber {
>   private char digit0;
>   private char digit1;
>   ///...same for the rest of the digits
>
>   public char getDigit0() { return digit0; }
>   public char getDigit1() { return digit1; }
> }
>
> Then the conditions would look like this:
>
> digit0 == '$param'
>
> Behind the scenes hopefully this will optimize better.  The use of eval
> won't optimize well.
>
> Are you using sequential mode?  This might be a good candidate for that if
> setting the price does not trigger any other rules to fire.
>
> --- On *Fri, 5/14/10, Antonio Anderson Souza <antonioams at gmail.com>*wrote:
>
>
> From: Antonio Anderson Souza <antonioams at gmail.com>
> Subject: [rules-users] Jbilling Drools performance
> To: "Drools Users Mailing list" <rules-users at lists.jboss.org>
> Date: Friday, May 14, 2010, 1:28 PM
>
>
> Dear All,
>
> I'm deploying  a JBilling using Drools in a Telecom Carrier in Brazil, and
> I'm using Decision tables in xls files to execute the pricing, my pricing
> table has about 40.000 rules, and I'm getting a terrible performance about
> 1.5 minute to execute the price of each CDR (Call Detail Record) mediated.
>
> Follow bellow a small piece of my decision table:
>
>   *RuleTable Padrao* *
> * *
> * *
> * *
> * *
> * *
> * *
> * *
> * *
> * *
> * *
> * *
> * *
> *
>
>  *CONDITION* *CONDITION* *ACTION* *PRIORITY *  *PricingField* *
> PricingManager* *manager* *salience*  name eval (strValue.charAt(0) ==
> '$param') eval (strValue.charAt(1) == '$param') eval (strValue.charAt(2)
> == '$param') eval (strValue.charAt(3) == '$param') eval
> (strValue.charAt(4) == '$param') eval (strValue.charAt(5) == '$param') eval
> (strValue.charAt(6) == '$param') eval (strValue.charAt(7) == '$param') eval
> (strValue.charAt(8) == '$param') eval (strValue.charAt(9) == '$param') eval
> (strValue.charAt(10) == '$param') eval (strValue.charAt(11) == '$param')
> itemId setPrice($param)
>  Campo Digito1 Digito2 Digito3 Digito4 Digito5 Digito6 Digito7 Digito8
> Digito9 Digito10 Digito11 Digito12 ID do Item Preço Ordem
> destinationnumber 5 5 1 1 3 5 8 8 0 1 8 8 300 0.00000 1  destinationnumber
> 5 5 1 1 3 5 8 8 0 1 8 7 300 0.00000 2  destinationnumber 5 5 1 1 3 5 8 8 0
> 1 8 6 300 0.00000 3  destinationnumber 5 5 1 1 3 5 8 8 0 1 8 5 300 0.00000
> 4  destinationnumber 5 5 1 1 3 5 8 8 0 1 8 4 300 0.00000 5
> destinationnumber 5 5 1 1 3 5 8 8 0 1 8 3 300 0.00000 6  destinationnumber
> 5 5 1 1 3 5 8 8 0 1 8 2 300 0.00000 7  destinationnumber 5 5 1 1
>
>
>
>
>
>
>
> 300 0.40000 8
>
> Is it normal? Are there somebody using Jbilling in a similar way? Does
> anybody can help me?
>
> Best regards,
>
> Antonio Anderson Souza
> Voice Technology
> http://www.antonioams.com
>
>
>
> -----Inline Attachment Follows-----
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org<http://mc/compose?to=rules-users@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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100514/a8ad8fc6/attachment.html 


More information about the rules-users mailing list