Я использую Drools 5.x (drools-компилятор 5.2.1. Финал, drools-решения для таблиц 5.4.0. Финал и drools-шаблоны 5.4.0.Final; jbpm-поток 5.1.1.Final, jbpm-bmpn2 5.1.1. Наконец, и с их соответствующими зависимостями) для моей работы Java, я собираю / запускаю ее с Java 1.7.0_21.Моя текущая настройка работает правильно.Я использую таблицу решений (электронную таблицу).
Я могу собрать / запустить свой проект с Java 1.8.0_162 с использованием drools 5.x, как описано выше;однако, когда задание java выполняется, оно загружает таблицу решений (электронную таблицу), но не запускает ни одно из правил, я не получаю исключение в последней выполняемой строке:
Properties props = new Properties();
KnowledgeBuilderConfiguration configuration = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(props);
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newDecisionTableConfiguration(configuration);
DecisionTableConfiguration config = KnowledgeBuilderFactory.newDecisionTableConfiguration();
config.setInputType(DecisionTableInputType.XLS);
kbuilder.add(ResourceFactory.newClassPathResource(spreadsheetFile), ResourcType.DTABLE, config); // last line executed and then job exists and completes successfully.
Priorк последней выполненной строке я помещаю несколько журналов отладки, и они показывают следующее:
Свойства (реквизиты): {}
KnowledgeBuilderConfiguration (конфигурация): org.drools,]
ResourceType.DTABLE: ResourceType = 'Таблица решений'
DecisionTableConfiguration (config): org.drools.builder.conf.impl.DecisionTableConfigurationImpl@150ab4ed
DecisionTableConfiguration (.getInputType ()): XLS
Поэтому я решил обновить с drools 5.5.0 до 7.5.0 и использовать kт.е.-апи / Кий-ая;Мне пришлось провести некоторый рефакторинг, потому что теперь drools является частью зонтика KIE (Knowledge Is Everything), см. Код ниже:
KieServices ks = KieServices.Factory.get();
KieContainer kc = ks.getKieClasspathContainer();
KieSession ks = kc.newKieSession("ksession-dtables"); //stateful session
FactHandle fh = ks.insert(fact);
ks.fireAllRules();
....
Пакеты и правилазагружен в базу знаний, но запускаются только первые правила, а затем он останавливается. Нужно ли обновлять таблицу решений (электронную таблицу), чтобы работать на drools 7.5.0 с Java 8?
Любые предложенияДобро пожаловать.
Спасибо !!