Список всех объектов в сеансе KIE - PullRequest
0 голосов
/ 12 сентября 2018

Я делаю POST со списком команд для экземпляра моего контейнера KIE, запущенного на kie-сервере. Последняя команда - команда get-objects.

Я видел, что каждый раз, когда я делаю пост, список объектов в сеансе kie увеличивается на 1 элемент.

Как я могу сделать чистую сессию перед каждым запуском? Необходимо ли что-то установить в KIE Workbench или добавить какую-либо команду в мой запрос?

Это запрос:

{"lookup":"defaultKieSession","commands": [{
        "insert": {
            "object": {
                "java.util.HashMap": {
                    "lifestage": "CAREERFOCUSED",
                    "assets": "FROM150KTO300K",
                    "need": "MORTAGE"
                }
            },
            "out-identifier": "map",
            "return-object": "true"
        }
    },
    {
        "set-global": {
            "identifier": "resultmap",
            "out-identifier": "resultmap",
            "object": {
                "java.util.HashMap" : {}
            }
        }
    },
    {
        "set-global": {
            "identifier": "list",
            "out-identifier": "list",
            "object": {
                "java.util.List" : []
            }
        }
    },
    {
        "fire-all-rules": {
            "max": -1,
            "out-identifier":"firedActivations"
        }
    },
    {
        "get-global": {
            "identifier": "resultmap",
            "out-identifier": "resultmap"
        }
    },
    {
        "get-global": {
            "identifier": "list",
            "out-identifier": "list"
        }
    }, 
    {   "get-objects":{
            "out-identifier":"facts"
        }
    }]

}

Это 1-й ответ

{
"type": "SUCCESS",
"msg": "Container test successfully called.",
"result": {
    "execution-results": {
        "results": [{
                "value": {
                    "discount": 10,
                    "singleproduct": "LOAN",
                    "financialpackage": "CAREERFOCUSED_PACKAGE"
                },
                "key": "resultmap"
            }, {
                "value": 3,
                "key": "firedActivations"
            }, {
                "value": [{
                        "ruleName": "ProductPackageSelection"
                    }, {
                        "ruleName": "DiscountLevel2"
                    }, {
                        "ruleName": "NeedsAssessmentMortage2"
                    }
                ],
                "key": "list"
            }, {
                "value": {
                    "assets": "FROM150KTO300K",
                    "need": "MORTAGE",
                    "lifestage": "CAREERFOCUSED"
                },
                "key": "map"
            }, {
                "value": [{
                        "assets": "FROM150KTO300K",
                        "need": "MORTAGE",
                        "lifestage": "CAREERFOCUSED"
                    }
                ],
                "key": "facts"
            }
        ],
        "facts": [{
                "value": {
                    "org.drools.core.common.DefaultFactHandle": {
                        "external-form": "0:1:402250881:1019704551:1:DEFAULT:NON_TRAIT:java.util.HashMap"
                    }
                },
                "key": "map"
            }
        ]
    }
}

}

Это второй ответ после того же запроса

{
"type": "SUCCESS",
"msg": "Container test successfully called.",
"result": {
    "execution-results": {
        "results": [{
                "value": {
                    "discount": 10,
                    "singleproduct": "LOAN",
                    "financialpackage": "CAREERFOCUSED_PACKAGE"
                },
                "key": "resultmap"
            }, {
                "value": 3,
                "key": "firedActivations"
            }, {
                "value": [{
                        "ruleName": "ProductPackageSelection"
                    }, {
                        "ruleName": "DiscountLevel2"
                    }, {
                        "ruleName": "NeedsAssessmentMortage2"
                    }
                ],
                "key": "list"
            }, {
                "value": {
                    "assets": "FROM150KTO300K",
                    "need": "MORTAGE",
                    "lifestage": "CAREERFOCUSED"
                },
                "key": "map"
            }, {
                "value": [{
                        "assets": "FROM150KTO300K",
                        "need": "MORTAGE",
                        "lifestage": "CAREERFOCUSED"
                    }, {
                        "assets": "FROM150KTO300K",
                        "need": "MORTAGE",
                        "lifestage": "CAREERFOCUSED"
                    }
                ],
                "key": "facts"
            }
        ],
        "facts": [{
                "value": {
                    "org.drools.core.common.DefaultFactHandle": {
                        "external-form": "0:2:1394076269:1019704551:2:DEFAULT:NON_TRAIT:java.util.HashMap"
                    }
                },
                "key": "map"
            }
        ]
    }
}

}

Вы можете видеть, что в списке объекта (ключ - факты) во втором ответе есть два элемента (с одинаковыми значениями)

Спасибо всем за помощь, Roberto

...