Ajout header transaction ID
This commit is contained in:
parent
61e94880b2
commit
7a0913d9cd
5 changed files with 25 additions and 60 deletions
|
|
@ -268,14 +268,14 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
||||||
squeletteComposant.getConsoleDeploy().getLogContent().add(horizontalLayout);
|
squeletteComposant.getConsoleDeploy().getLogContent().add(horizontalLayout);
|
||||||
//getUI().get().push();
|
//getUI().get().push();
|
||||||
});
|
});
|
||||||
/**
|
|
||||||
ui.getSession().lock();
|
ui.getSession().lock();
|
||||||
try {
|
try {
|
||||||
ui.push();
|
ui.push();
|
||||||
}finally {
|
}finally {
|
||||||
ui.getSession().unlock();
|
ui.getSession().unlock();
|
||||||
}
|
}
|
||||||
**/
|
|
||||||
System.out.println(textToAdd);
|
System.out.println(textToAdd);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package org.chtijbug.drools.proxy.camel;
|
||||||
import org.apache.camel.builder.RouteBuilder;
|
import org.apache.camel.builder.RouteBuilder;
|
||||||
import org.apache.camel.model.rest.RestBindingMode;
|
import org.apache.camel.model.rest.RestBindingMode;
|
||||||
import org.apache.camel.model.rest.RestParamType;
|
import org.apache.camel.model.rest.RestParamType;
|
||||||
import org.chtijbug.drools.proxy.persistence.model.RuntimePersist;
|
|
||||||
import org.chtijbug.drools.proxy.service.KieServiceCommon;
|
import org.chtijbug.drools.proxy.service.KieServiceCommon;
|
||||||
import org.kie.server.api.model.KieContainerResource;
|
import org.kie.server.api.model.KieContainerResource;
|
||||||
import org.kie.server.api.model.KieContainerResourceList;
|
import org.kie.server.api.model.KieContainerResourceList;
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public class DroolsRouter extends RouteBuilder {
|
||||||
// .param().name("containerId").type(path).description("Container ID where the rule artefact id deployed").dataType("integer").endParam()
|
// .param().name("containerId").type(path).description("Container ID where the rule artefact id deployed").dataType("integer").endParam()
|
||||||
.param().name("body").type(body).description("The Data drools should work on").endParam()
|
.param().name("body").type(body).description("The Data drools should work on").endParam()
|
||||||
.responseMessage().code(200).message("Data drools worked on").endResponseMessage()
|
.responseMessage().code(200).message("Data drools worked on").endResponseMessage()
|
||||||
.to("bean:ruleService?method=runSessionObject("+this.containerId+","+this.processID+",${body})");
|
.to("bean:ruleService?method=runSessionObject(${header.transactionId},"+this.containerId+","+this.processID+",${body})");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,10 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Method;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.temporal.ChronoField;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
@Service("ruleService")
|
@Service("ruleService")
|
||||||
public class RuleService {
|
public class RuleService {
|
||||||
|
|
@ -57,7 +57,7 @@ public class RuleService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object runSessionObject(String id, String processID, Object input) throws IOException {
|
public Object runSessionObject(String transactionID,String id, String processID, Object input) throws IOException {
|
||||||
KieContainerInstance kci = registry.getContainer(id);
|
KieContainerInstance kci = registry.getContainer(id);
|
||||||
ChtijbugObjectRequest chtijbugObjectRequest = new ChtijbugObjectRequest();
|
ChtijbugObjectRequest chtijbugObjectRequest = new ChtijbugObjectRequest();
|
||||||
chtijbugObjectRequest.setObjectRequest(input);
|
chtijbugObjectRequest.setObjectRequest(input);
|
||||||
|
|
@ -80,73 +80,37 @@ public class RuleService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String jsonInString = null;
|
String jsonInString = null;
|
||||||
String filetrace = System.getProperty("org.chtijbug.server.tracelog");
|
|
||||||
if ("true".equals(filetrace)) {
|
|
||||||
try {
|
|
||||||
Class foundClass = input.getClass();
|
|
||||||
Method traceMethod = foundClass.getMethod("logTrace", String.class);
|
|
||||||
if (traceMethod != null) {
|
|
||||||
jsonInString = mapper.writeValueAsString(chtijbutObjectResponse.getSessionLogging());
|
|
||||||
}
|
|
||||||
traceMethod.invoke(input, jsonInString);
|
|
||||||
} catch (Exception e) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String fileTemp = System.getProperty("org.chtijbug.server.tracedir");
|
String fileTemp = System.getProperty("org.chtijbug.server.tracedir");
|
||||||
if (fileTemp != null) {
|
if (fileTemp != null) {
|
||||||
if (jsonInString == null) {
|
if (jsonInString == null) {
|
||||||
jsonInString = mapper.writeValueAsString(chtijbutObjectResponse.getSessionLogging());
|
jsonInString = mapper.writeValueAsString(chtijbutObjectResponse.getSessionLogging());
|
||||||
}
|
}
|
||||||
File traceFile = new File(fileTemp + "/" + UUID.randomUUID().toString());
|
String fileUUID=null;
|
||||||
FileUtils.writeStringToFile(traceFile, jsonInString);
|
if (transactionID==null){
|
||||||
|
fileUUID="noTransactionID";
|
||||||
|
}else{
|
||||||
|
fileUUID=transactionID;
|
||||||
|
}
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
int year = now.getYear();
|
||||||
|
int month = now.getMonthValue();
|
||||||
|
int day = now.getDayOfMonth();
|
||||||
|
int hour = now.getHour();
|
||||||
|
int minute = now.getMinute();
|
||||||
|
int second = now.getSecond();
|
||||||
|
int millis = now.get(ChronoField.MILLI_OF_SECOND);
|
||||||
|
String fileName=year+"-"+month+"-"+day+"-"+hour+"-"+minute+"-"+second+"-"+millis+"-"+fileUUID.replaceAll("-","")+".json";
|
||||||
|
File traceFile = new File(fileTemp + "/" +fileName);
|
||||||
|
FileUtils.writeByteArrayToFile(traceFile, jsonInString.getBytes());
|
||||||
}
|
}
|
||||||
|
|
||||||
Object response = chtijbutObjectResponse.getObjectRequest();
|
Object response = chtijbutObjectResponse.getObjectRequest();
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String runSession(String id, String processID, String className,
|
|
||||||
String objectRequest) {
|
|
||||||
|
|
||||||
|
|
||||||
ClassLoader localClassLoader = null;
|
|
||||||
Object response = null;
|
|
||||||
try {
|
|
||||||
localClassLoader = Thread.currentThread()
|
|
||||||
.getContextClassLoader();
|
|
||||||
} catch (ClassCastException e) {
|
|
||||||
logger.info("GenericResource.runSession", e);
|
|
||||||
}
|
|
||||||
ChtijbugObjectRequest chtijbugObjectRequest = new ChtijbugObjectRequest();
|
|
||||||
try {
|
|
||||||
|
|
||||||
KieContainerInstance kci = registry.getContainer(id);
|
|
||||||
|
|
||||||
Set<Class<?>> classes = kci.getExtraClasses();
|
|
||||||
Class foundClass = this.getClassFromName(classes, className);
|
|
||||||
if (foundClass != null) {
|
|
||||||
ClassLoader classLoader = foundClass.getClassLoader();
|
|
||||||
Object input = mapper.readValue(objectRequest, classLoader.loadClass(className));
|
|
||||||
response = this.runSessionObject(id, processID, input);
|
|
||||||
}
|
|
||||||
//response.setSessionLogging(jsonInString);
|
|
||||||
logger.debug("Returning OK response with content '{}'", response);
|
|
||||||
String responseText = mapper.writeValueAsString(response);
|
|
||||||
return responseText;
|
|
||||||
} catch (Exception e) {
|
|
||||||
// in case marshalling failed return the FireAllRulesAndStartProcess container response to keep backward compatibility
|
|
||||||
String responseMessage = "Execution failed with error : " + e.getMessage();
|
|
||||||
logger.debug("Returning Failure response with content '{}'", responseMessage);
|
|
||||||
return objectRequest;
|
|
||||||
} finally {
|
|
||||||
if (localClassLoader != null) {
|
|
||||||
Thread.currentThread().setContextClassLoader(localClassLoader);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private Class getClassFromName(Set<Class<?>> classes, String name) {
|
private Class getClassFromName(Set<Class<?>> classes, String name) {
|
||||||
Class result = null;
|
Class result = null;
|
||||||
for (Class c : classes) {
|
for (Class c : classes) {
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
|
|
|
||||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue