2016-09-02 8 views
2

Я пытаюсь использовать версию Drools Workbench 6.4.0 Final для воссоздания примера CloudBalancing на сервере KIE. Я могу создать контейнер и решатель в КИЭФ через REST API, однако, когда я пытаюсь начать решать, и я получил следующее сообщение об ошибке:optaplanner/drools workbench 6.4.0 Final ScoreDirectorFacotry

03:15:50,831 INFO [org.kie.server.services.impl.KieServerImpl] (EJB default - 2) Container optacloud_1_0_0 (for release id opta:optacloud:1.0.0) successfully started 
03:17:44,170 INFO [org.kie.server.services.optaplanner.SolverServiceBase] (default task-13) Solver 'solver1' successfully created in container 'optacloud_1_0_0' 
03:19:19,654 ERROR [org.kie.server.services.optaplanner.SolverServiceBase] (pool-9-thread-1) Exception executing solver 'solver1' from container 'optacloud_1_0_0'. Thread will terminate.: java.lang.NullPointerException 
    at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333) [rt.jar:1.7.0_80] 
    at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1125) [rt.jar:1.7.0_80] 
    at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:613) [drools-compiler-6.4.0.Final.jar:6.4.0.Final] 
    at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:575) [drools-compiler-6.4.0.Final.jar:6.4.0.Final] 
    at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirectorFactory.newKieSession(DroolsScoreDirectorFactory.java:113) [optaplanner-core-6.4.0.Final.jar:6.4.0.Final] 
    at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.resetKieSession(DroolsScoreDirector.java:68) [optaplanner-core-6.4.0.Final.jar:6.4.0.Final] 
    at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.setWorkingSolution(DroolsScoreDirector.java:61) [optaplanner-core-6.4.0.Final.jar:6.4.0.Final] 
    at org.optaplanner.core.impl.solver.scope.DefaultSolverScope.setWorkingSolutionFromBestSolution(DefaultSolverScope.java:198) [optaplanner-core-6.4.0.Final.jar:6.4.0.Final] 
    at org.optaplanner.core.impl.solver.DefaultSolver.solvingStarted(DefaultSolver.java:196) [optaplanner-core-6.4.0.Final.jar:6.4.0.Final] 
    at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:175) [optaplanner-core-6.4.0.Final.jar:6.4.0.Final] 
    at org.kie.server.services.optaplanner.SolverServiceBase$1.run(SolverServiceBase.java:329) [kie-server-services-optaplanner-6.4.0.Final.jar:6.4.0.Final] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_80] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_80] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80] 

это потому, что мне не хватает в «scoreDrl» в SolverConfig.xml ? Как настроить SolverConfig.xml через интерфейс Workbench? Кажется, я не могу редактировать SolverConfig.xml через интерфейс.

+0

Это не из-за недостающего 'scoreDrl', потому что если это проблема (которая не находится в kjar), тогда вы получите сообщение об ошибке с быстрым сбоем. Эта ошибка не очень хорошая. –

+0

Можете ли вы попробовать слюни и optaplanner '6.5.0.CR1'? Поэтому просто попробуйте с kie-server 6.5.0.CR1. Если он все еще встречается там, это ошибка, пожалуйста, напишите джире с помощью репродуктора. –

+0

[Создать jira] (https://issues.jboss.org/projects/PLANNER) –

ответ

0

Спасибо за расследование Джеффри, он выяснил, что основная причина проблемы связана с DROOLS-1276. Обходной путь проблемы заключается не в использовании ksession по умолчанию.

Чтобы создать kession в Drools верстаке выглядит следующим образом:

Project Authoring -> Open Project Editor -> Knowledge Bases and Sessions 

Затем обновите сеанс знаний в конфигурации Solver проекта. Проблема будет решена.