Проблемной частью конфигурации является фаза <constructionHeuristic>
.Необходимо использовать расширенную конфигурацию , которая запускает одну фазу построения эвристики для каждого типа объекта планирования.В вашем случае это должно выглядеть примерно так:
<constructionHeuristic>
<entitySorterManner>NONE</entitySorterManner>
<valueSorterManner>NONE</valueSorterManner>
<queuedEntityPlacer>
<entitySelector id="jobAEntitySelector">
<cacheType>PHASE</cacheType>
<entityClass>com.myspace.wla.JobA</entityClass>
</entitySelector>
<changeMoveSelector>
<entitySelector mimicSelectorRef="jobAEntitySelector"/>
</changeMoveSelector>
</queuedEntityPlacer>
</constructionHeuristic>
<constructionHeuristic>
<entitySorterManner>NONE</entitySorterManner>
<valueSorterManner>NONE</valueSorterManner>
<queuedEntityPlacer>
<entitySelector id="jobBEntitySelector">
<cacheType>PHASE</cacheType>
<entityClass>com.myspace.wla.JobB</entityClass>
</entitySelector>
<changeMoveSelector>
<entitySelector mimicSelectorRef="jobBEntitySelector"/>
</changeMoveSelector>
</queuedEntityPlacer>
</constructionHeuristic>
Обратите внимание, что невозможно использовать constructionHeuristicType=FIRST_FIT
с расширенной конфигурацией, но использование entitySorterManner=NONE
и valueSorterManner=NONE
эквивалентно FIRST_FIT
.
Также можно не указывать entitySorterManner и valueSorterManner, в этом случае по умолчанию они будут иметь значения entitySorterManner=DECREASING_DIFFICULTY_IF_AVAILABLE
и valueSorterManner=INCREASING_STRENGTH_IF_AVAILABLE
.
.