Ich versuche eine Lösung mit optaplanner zu erstellen, indem ich eine XML-Datei nach Ressource lade. Wenn ich es in einem Komponententest starte, funktioniert es gut. Aber wenn ich versuche, es auszuführen, wenn meine Spring-Boot-Anwendung ausgeführt wird, denke ich, dass es die Ressourcen nicht richtig liest.Optaplanner Spring-Boot Ressourcen laden Problem (funktioniert nur mit Komponententest)
Dies ist unsere Config XML-Datei
<!-- Domain model configuration -->
<solutionClass>be.infofarm.backend.domain.Internship.solution.InternshipSolution</solutionClass>
<entityClass>be.infofarm.backend.domain.Internship.Student</entityClass>
<!--<environmentMode>FAST_ASSERT</environmentMode>-->
<!-- Score configuration -->
<scoreDirectorFactory>
<scoreDefinitionType>HARD_SOFT</scoreDefinitionType>
<scoreDrl>InternshipCalculator.drl</scoreDrl>
<initializingScoreTrend>ONLY_DOWN</initializingScoreTrend>
</scoreDirectorFactory>
<constructionHeuristic>
<constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
</constructionHeuristic>
<localSearch>
<forager>
<acceptedCountLimit>800</acceptedCountLimit>
</forager>
</localSearch>
<localSearch>
<acceptor>
<entityTabuSize>20</entityTabuSize>
</acceptor>
</localSearch>
<termination>
<secondsSpentLimit>10</secondsSpentLimit>
</termination>
Willkommen bei StackOverflow! Leider gibt es hier nicht wirklich genug Informationen, um Ihnen zu helfen. Ich empfehle Ihnen, [Wie frage ich eine gute Frage] (http://stackoverflow.com/help/how-to-ask) durchzulesen, dann komme ich zurück und bearbeite deinen Beitrag, um weitere Informationen hinzuzufügen. – DaveyDaveDave
Aktivieren Sie die 'DEBUG'-Protokollierung (siehe den entsprechenden Abschnitt im Abschnitt" optaplanner docs ") und prüfen Sie, ob Sie die gleiche Anzahl von Schritten (= Iterationen) ausführen. Wenn Sie die zwei Läufe vergleichen, sollte die Ausgabe dieselbe Punktzahl bei der gleichen Iteration haben. –
Wir haben es auf DEBUG Protokollierung und wenn wir die 2 Iterationen vergleichen, gibt es einen signifikanten Unterschied. Beim Spring-Boot-Lauf gibt es wesentlich mehr LS-Schritte als beim Unit-Testlauf. Auch der Spring-Boot-Lauf addiert nicht den Soft-Score, den wir in unserer Drool-Datei initialisiert haben. Und wenn wir den Komponententest ausführen, addiert er nur einen Soft Score, den wir in unserer Drool-Datei initialisiert haben, aber er ignoriert die harten Einschränkungen. Wir haben die durch und ersetzt. Wir erhalten keine Ausnahmen, wenn wir die Anwendung ausführen –
user3360938