问题
I'm running Drools 7.7.0.final KIE server on tomcat. I am seeing this behavior when launching a container via RESTful call to the KIE server....
The container is never created, and the RESTful call hangs indefinitely. When I query the server I see that the container is stuck in 'status="Creating"'.
This doesn't always happen. It seems to be dependent on the rules. For the most part, my LHS (when clause) are of the form..
myObject( (field1 != null) && field2 ) ... etc. ....where field2 is a boolean.
The difficulty seems to come in when I attempt something complicated like ...
myObject ( JsonMappper.truth(propertiesString, "field2") )
...where propertiesString is a string containing JSON, and JsonMapper.truth is a static method that returns a boolean based on the decoded value of field2.
The odd thing is that I never receive a compilation error, and the behavior changes in unpredictable when I remove/add various rules. Sometimes the container will be created even when multiple instances of rules with JsonMapper.truth exist in the rules file. There seems to some subtle interaction between the rules.
My questions are: 1) Is there some danger associated with using a custom java function like this in the when clause? 2) Is there a way to determine why the container creation is hanging? I am not finding any useful logs. Nothing useful seems to be written to the usual tomcat logs. 3) Has anyone seen this behavior (container creation hanging)?
回答1:
I had the similar issue. But I thought that it is related to Enums usage. Switching the version to '7.9.0.Final' fixed everything.
来源:https://stackoverflow.com/questions/51528493/create-container-command-hangs-no-error-logged