ajout processID dans la création du conteneur
donc suppression de ce parametre lors de l'appel au service métier de calcul des règles (runtime) puisqu'il va le chercher dans la persistence mongodb
This commit is contained in:
parent
cd86135f98
commit
2ad08ecbb1
4 changed files with 27 additions and 14 deletions
|
|
@ -82,12 +82,13 @@ public class AdminRouter extends RouteBuilder {
|
|||
.consumes("application/json")
|
||||
.produces("application/json")
|
||||
|
||||
.post("/{id}/{className}").description("Container id to be assigned to deployed KIE Container").type(KieContainerResource.class).outType(KieContainerResource.class)
|
||||
.post("/{id}/{className}/{processID}").description("Container id to be assigned to deployed KIE Container").type(KieContainerResource.class).outType(KieContainerResource.class)
|
||||
.param().name("id").type(path).description("Container id to be assigned to deployed KIE Container").dataType("string").endParam()
|
||||
.param().name("className").type(path).description("Class Name of the Business Service").dataType("string").endParam()
|
||||
.param().name("processID").type(path).description("Process Id of the Business Service").dataType("string").endParam()
|
||||
.param().name("body").type(body).description("KIE Container resource to be deployed as KieContainerResourcee").endParam()
|
||||
.responseMessage().code(200).message("Container successfully created").endResponseMessage()
|
||||
.to("bean:kieService?method=createContainerWithRestBusinessService(${header.id},${body},${header.className})");
|
||||
.to("bean:kieService?method=createContainerWithRestBusinessService(${header.id},${body},${header.className},${header.processID})");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,12 +15,14 @@ public class DroolsRouter extends RouteBuilder {
|
|||
private String projectName ;
|
||||
private KieContainerInstance kci;
|
||||
private Class<?> clazzUser;
|
||||
private String processID;
|
||||
|
||||
public DroolsRouter(CamelContext camelContext,Class<?> clazzUser, String projectName,KieContainerInstance kci) {
|
||||
public DroolsRouter(CamelContext camelContext,Class<?> clazzUser, String projectName,KieContainerInstance kci,String processID) {
|
||||
super(camelContext);
|
||||
this.clazzUser = clazzUser;
|
||||
this.projectName=projectName;
|
||||
this.kci = kci;
|
||||
this.processID = processID;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -32,12 +34,11 @@ public class DroolsRouter extends RouteBuilder {
|
|||
.consumes("application/json")
|
||||
.produces("application/json")
|
||||
|
||||
.put("/{containerId}/{processID}").description("Execute Business Service").type(clazzUser).outType(clazzUser)
|
||||
.put("/{containerId}").description("Execute Business Service").type(clazzUser).outType(clazzUser)
|
||||
.param().name("containerId").type(path).description("Container ID where the rule artefact id deployed").dataType("integer").endParam()
|
||||
.param().name("processID").type(path).description("process ID sot start").dataType("integer").endParam()
|
||||
.param().name("body").type(body).description("The Data drools should work on").endParam()
|
||||
.responseMessage().code(200).message("Data drools worked on").endResponseMessage()
|
||||
.to("bean:ruleService?method=runSessionObject(${header.containerId},${header.processID},${body})");
|
||||
.to("bean:ruleService?method=runSessionObject(${header.containerId},"+this.processID+",${body})");
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,7 +96,8 @@ public class KieServiceCommon {
|
|||
Class<?> theClass = classLoader.loadClass(className);
|
||||
camelContext.setApplicationContextClassLoader(classLoader);
|
||||
String projectName = container.getProjectName();
|
||||
DroolsRouter droolsRouter = new DroolsRouter(camelContext, theClass, projectName, kieContainerInstance);
|
||||
String processId = container.getProcessID();
|
||||
DroolsRouter droolsRouter = new DroolsRouter(camelContext, theClass, projectName, kieContainerInstance,processId);
|
||||
camelContext.addRoutes(droolsRouter);
|
||||
}
|
||||
}
|
||||
|
|
@ -132,11 +133,9 @@ public class KieServiceCommon {
|
|||
}
|
||||
|
||||
|
||||
public KieContainerResource createContainerWithRestBusinessService(String id, KieContainerResource container, String className, String projectName) {
|
||||
public KieContainerResource createContainerWithRestBusinessService(String id, KieContainerResource container, String className,String processID) {
|
||||
|
||||
|
||||
if (projectName==null){
|
||||
projectName=id;
|
||||
}
|
||||
KieContainerResource containerResource = this.createContainer(id, container);
|
||||
if (containerResource.getMessages().size()==1
|
||||
&& containerResource.getMessages().get(0).getSeverity()!= null
|
||||
|
|
@ -158,7 +157,7 @@ public class KieServiceCommon {
|
|||
ClassLoader classLoader = foundClass.getClassLoader();
|
||||
Class<?> theClass = classLoader.loadClass(className);
|
||||
camelContext.setApplicationContextClassLoader(classLoader);
|
||||
DroolsRouter droolsRouter = new DroolsRouter(camelContext, theClass, projectName,kci);
|
||||
DroolsRouter droolsRouter = new DroolsRouter(camelContext, theClass, id,kci,processID);
|
||||
camelContext.addRoutes(droolsRouter);
|
||||
String serverName= System.getProperty("org.kie.server.id");
|
||||
ContainerPojoPersist containerPojoPersist = containerRepository.findByServerNameAndContainerId(serverName,id);
|
||||
|
|
@ -167,13 +166,15 @@ public class KieServiceCommon {
|
|||
containerPojoPersist.setId(UUID.randomUUID().toString());
|
||||
containerPojoPersist.setContainerId(id);
|
||||
containerPojoPersist.setClassName(className);
|
||||
containerPojoPersist.setProjectName(projectName);
|
||||
containerPojoPersist.setProjectName(id);
|
||||
containerPojoPersist.setServerName(serverName);
|
||||
containerPojoPersist.setProcessID(processID);
|
||||
containerRepository.save(containerPojoPersist);
|
||||
}else{
|
||||
containerPojoPersist.setContainerId(id);
|
||||
containerPojoPersist.setClassName(className);
|
||||
containerPojoPersist.setProjectName(projectName);
|
||||
containerPojoPersist.setProjectName(id);
|
||||
containerPojoPersist.setProcessID(processID);
|
||||
containerPojoPersist.setServerName(serverName);
|
||||
containerRepository.save(containerPojoPersist);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ public class ContainerPojoPersist {
|
|||
@Indexed
|
||||
private String serverName;
|
||||
|
||||
private String processID;
|
||||
|
||||
private String projectName;
|
||||
|
||||
|
|
@ -61,6 +62,14 @@ public class ContainerPojoPersist {
|
|||
this.projectName = projectName;
|
||||
}
|
||||
|
||||
public String getProcessID() {
|
||||
return processID;
|
||||
}
|
||||
|
||||
public void setProcessID(String processID) {
|
||||
this.processID = processID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuffer sb = new StringBuffer("ContainerPojoPersist{");
|
||||
|
|
@ -68,6 +77,7 @@ public class ContainerPojoPersist {
|
|||
sb.append(", className='").append(className).append('\'');
|
||||
sb.append(", containerId='").append(containerId).append('\'');
|
||||
sb.append(", serverName='").append(serverName).append('\'');
|
||||
sb.append(", processID='").append(processID).append('\'');
|
||||
sb.append(", projectName='").append(projectName).append('\'');
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
|
|
|
|||
Loading…
Add table
editor.link_modal.header
Reference in a new issue