当我尝试使用 Drools 引擎计算保险费时,我遇到了潜在的性能/内存瓶颈。
我在我的项目中使用 Drools 将业务逻辑与 Java 代码分开,我决定也将它用于高级计算。
- 我是否以错误的方式使用 Drools?
- 如何以更高效的方式满足要求?
详情如下:
计算
我必须计算给定合同的保险费。
合约配置为
- productCode(字典中的代码)
- contractCode(字典中的代码)
- 客户的个人资料(例如年龄、地址)
- 保险金额 (SI)
- 等等。
目前,使用以下公式计算保费:
premium := SI * px * (1 + py) / pz
Run Code Online (Sandbox Code Playgroud)
在哪里:
- PX的因素参数在Excel文件,并依赖于两个属性(客户的年龄和性别)
- PY的因素参数在Excel文件,并依赖于4合约的性质
- pz - 同样
要求
- R1 – java 代码不知道公式,
- R2 - java 代码对公式依赖一无所知,换句话说,溢价取决于:px、py、pz、
- R3 - java 代码对参数的依赖一无所知,我的意思是 px 取决于客户的年龄和性别,等等。
实现 R1、R2 和 R3 后,我将 …