Aws lambda “如何修复”;java.lang.NullPointerException“;位于org.kie.internal.io.ResourceFactory.newFileResource

Aws lambda “如何修复”;java.lang.NullPointerException“;位于org.kie.internal.io.ResourceFactory.newFileResource,aws-lambda,drools,Aws Lambda,Drools,我在尝试创建新会话时遇到空指针异常: 使用AWS Lambda(java.jar文件)+Drools规则引擎的java.lang.NullPointerException kContainer.newKieSessiona。] public类LambdaRequestHandler实现RequestHandler{ @凌驾 公共字符串handleRequest(字符串输入,上下文){ context.getLogger().log(“输入:”+Input); int rulesFired=0;

我在尝试创建新会话时遇到空指针异常:

使用AWS Lambda(java.jar文件)+Drools规则引擎的java.lang.NullPointerException kContainer.newKieSessiona。]

public类LambdaRequestHandler实现RequestHandler{
@凌驾
公共字符串handleRequest(字符串输入,上下文){
context.getLogger().log(“输入:”+Input);
int rulesFired=0;
试一试{
KieServices=KieServices.Factory.get();
KieContainer kContainer=ks.getKieClasspathContainer();
KieSession kSession=kContainer.newKieSession(“kSession规则”);
账户=新账户(200);
账户提款(150);
K段。插入(账户);
rulesFired=kSession.fireAllRules();
}捕获(可丢弃的t){
t、 printStackTrace();
}
返回“已激发规则-”+已激发规则;
}
}
Rules.drl文件
一揽子规则
进口帐户
规则“账户余额检查1”
什么时候
美元账户:账户(余额<100)
然后
System.out.println(“内部规则1”);
结束
kmodule.xml文件

任何帮助都将不胜感激

你解决了吗?你解决了吗?
  public class LambdaRequestHandler implements RequestHandler<String, String> {

    @Override
    public String handleRequest(String input, Context context) {
        context.getLogger().log("Input: " + input);
        int rulesFired = 0;
        try {
            KieServices ks = KieServices.Factory.get();
            KieContainer kContainer = ks.getKieClasspathContainer();
            KieSession kSession = kContainer.newKieSession("ksession-rules");
            Account account = new Account(200);
            account.withdraw(150);
            kSession.insert(account);
            rulesFired = kSession.fireAllRules();
        } catch (Throwable t) {
            t.printStackTrace();
        }
        return "Rules Fired - " + rulesFired;
    }
}

Rules.drl file

package rules

import Account

rule "accountBalanceCheck1"
  when
  $account : Account( balance < 100 )
  then
  System.out.println("Inside rule 1");
end

kmodule.xml file

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
    <kbase name="rules" packages="rules">
        <ksession name="ksession-rules"/>
    </kbase>
    <kbase name="rules2" packages="rules">
        <ksession name="statelessSession" type="stateless" default="true"/>
    </kbase>
    <kbase name="dtables" packages="dtables">
        <ksession name="ksession-dtables"/>
    </kbase>
    <kbase name="process" packages="process">
        <ksession name="ksession-process"/>
    </kbase>
</kmodule>