2017-06-09 2 views
0

Wir verwenden Optaplanner 7.0.0 Final Workbench und KIE Server mit dem optacloud Beispiel auf Wildfly 10.0.0.Optaplanner REST API lösen Problem

Bisher haben wir einen Container auf einem fernen Ausführungsserver bereitgestellt und mithilfe der RESTful-API einen Solver für diesen Container erstellt.

Solver Details wie von KIE Server zur Verfügung gestellt werden:

<org.kie.server.api.model.instance.SolverInstanceList> 
    <solvers> 
     <solver-instance> 
      <container-id>test</container-id> 
      <solver-id>testsolver</solver-id> 
      <solver-config-file>optacloud/optacloud/cloudSolverConfig.solver.xml</solver-config-file> 
      <status>NOT_SOLVING</status> 
      <score /> 
     </solver-instance> 
    </solvers> 
</org.kie.server.api.model.instance.SolverInstanceList> 

Wir erhalten eine 405 Methode nicht mit der folgenden URL erlaubte Antwort von Wildfly:

http://xxx.xxx.xxx.xxx:8080/kie-server-7.0.0.Final-ee7/services/rest/server/containers/test/solvers/testsolver/

Sind die korrekte URL-Struktur oder fehlt uns noch etwas?

wir veröffentlichen die folgenden Daten:

<solver-instance> 
    <status>SOLVING</status> 
    <planning-problem class="optacloud.optacloud.CloudSolution"> 
    <computerList> 
     <optacloud.optacloud.Computer> 
     <cpuPower>10</cpuPower> 
     <memory>4</memory> 
     <networkBandwidth>100</networkBandwidth> 
     <cost>1000</cost> 
     </optacloud.optacloud.Computer> 
     <optacloud.optacloud.Computer> 
     <cpuPower>20</cpuPower> 
     <memory>8</memory> 
     <networkBandwidth>100</networkBandwidth> 
     <cost>3000</cost> 
     </optacloud.optacloud.Computer> 
    </computerList> 
    <processList> 
     <optacloud.optacloud.Process> 
     <requiredCpuPower>1</requiredCpuPower> 
     <requiredMemory>7</requiredMemory> 
     <requiredNetworkBandwidth>1</requiredNetworkBandwidth> 
     </optacloud.optacloud.Process> 
    </processList> 
    </planning-problem> 
</solver-instance> 

mit folgenden Überschriften:

Content-Type: application/xml 
X-KIE-ContentType: xstream 

Antwort

1

Der KIE-Server-API in 7-Serie und <solver-instance> Wrapper länger in der einreichen Lösung erforderlich ist, nicht geändert hat Nutzlast.

Sie müssen einen POST an http://${kie-server}/services/rest/server/containers/${container_id}/solvers/${solver_id}/state/solving senden, wo die Nutzlast nur ein Planungsproblem (Lösung) ist: <planning-problem class="optacloud.optacloud.CloudSolution">...</planning-problem>.

Bitte sehen Sie sich den Schnellstart https://github.com/kiegroup/kie-docs/blob/master/docs/optaplanner-wb-es-docs/src/main/asciidoc/Workbench/Quickstart/Quickstart-section.adoc#submit-solution an, der ein Beispiel enthält, wie das Planungsproblem auf eine neue Art und Weise übermittelt werden kann.

Die neue API-Übersicht:

einen Solver registrieren: PUT http: // $ {kie-Server}/services/rest/Server/Container/$ {container_id}/Löser/$ {solver_id }

eine Lösung einreichen: POST http: // $ {kie-Server}/services/rest/Server/Container/$ {container_id}/Löser/$ {solver_id}/Zustand/Lösung

Get die beste Lösung: GET http: // $ {kie-server}/services/rest/server/container/$ {container_i d}/Löser/$ {solver_id}/bestsolution

Terminate den Solver: POST http: // $ {kie-Server}/services/rest/Server/Container/$ {container_id}/Löser/$ {solver_id }/Bundesland/Abschluss-early

einen Solver Entsorgen: DELETE http: // $ {kie-Server}/services/rest/Server/Container/$ {container_id}/Löser/$ {} solver_id

Verwandte Themen