Browse Source

解析入库流程

huangzhiyong 7 năm trước cách đây
mục cha
commit
7061825fce

+ 9 - 1
hos-camel2/src/main/java/camel/central/archives/processor/ArchivesService.java

@ -22,6 +22,14 @@ public class ArchivesService {
    private static final Logger logger = LoggerFactory.getLogger(ArchivesService.class);
    private ObjectMapper objectMapper = new ObjectMapper();
    public void bodyValue(Exchange exchange) {
        Message in = exchange.getIn();
        String body = in.getBody(String.class);
    }
    //入库服务参数设置
    public void storageArchive(Exchange exchange) {
        Message in = exchange.getIn();
@ -31,7 +39,7 @@ public class ArchivesService {
                ObjectNode objectNode = objectMapper.readValue(body,ObjectNode.class);
                String packageId = objectNode.get("id").asText();
                String clientId = objectNode.get("clientId").asText();
                String query = "?packageId="+packageId+"&clientId="+clientId+"&echo="+false;
                String query = "&packageId="+packageId+"&clientId="+clientId+"&echo="+false;
                exchange.getOut().setHeader(Exchange.REST_HTTP_QUERY,query);
                System.out.println("入库参数:"+query);

+ 3 - 2
hos-camel2/src/main/java/camel/central/archives/route/ArchivesRouterBuilder.java

@ -38,9 +38,10 @@ public class ArchivesRouterBuilder extends RouteBuilder {
        // 档案上传接口代理 (兼容非病人维度上传)
        from("jetty:http://0.0.0.0:9912/api/dataset_package?bridgeEndpoint=true&enableMultipartFilter=false").routeId("datasetUpload1")
                .removeHeaders("CamelHttp*")
                .setHeader("User-Agent", header("UserAgent"))//使用postman测试时,无法设置User-Agent,使用UserAgent来获取
//                .setHeader("User-Agent", header("UserAgent"))//使用postman测试时,无法设置User-Agent,使用UserAgent来获取
//                .to("jetty:http://192.168.1.221:10140/api/v1.0/dataset_package")
                .to("jetty:http://192.168.131.106:10140/api/v1.0/dataset_package")//上传档案
                .to("jetty:http://192.168.131.106:10140/api/v1.0/datasetPackages")//上传档案
                .choice()
                .when(header(Exchange.HTTP_RESPONSE_CODE).isEqualTo("200")).to(ExchangePattern.InOnly, ArchivesConstant.CAMEL_ENDPOINT)//成功:发送入库消息
                .otherwise().log("上传失败").to("stream:out")
@ -50,7 +51,7 @@ public class ArchivesRouterBuilder extends RouteBuilder {
        //入库请求(消费MQ消息,发送入库接口请求)
        from(ArchivesConstant.CAMEL_ENDPOINT)
                .to("bean:archivesService?method=storageArchive")//参数设置
                .to("restlet:http://192.168.131.106:10170/api/v1.0/packages/resolve?restletMethod=PUT")
                .to("restlet:http://192.168.131.129:10170/api/v1.0/datasetPackages/resolve?restletMethod=PUT")
        ;
        ;

+ 6 - 1
hos-camel2/src/main/java/camel/central/gateway/processor/GatewayProcessor.java

@ -193,7 +193,12 @@ public class GatewayProcessor implements Processor {
                url = appApi.getMicroServiceUri();
            }
            final String[] endPoint = {"restlet:" + url + appApi.getMsMethodName() + "?socketTimeout=60000&connectionTimeout=60000&restletMethod=" + methodMap.get(appApi.getMethod())};
            final String[] endPoint = {""};
            if (exchange.getIn().getHeader(Exchange.CONTENT_TYPE,String.class).contains("multipart/form-data")){
                endPoint[0] = "jetty:" + url + appApi.getMsMethodName() + "?a=a";
            }else {
                endPoint[0] = "restlet:" + url + appApi.getMsMethodName() + "?socketTimeout=60000&connectionTimeout=60000&restletMethod=" + methodMap.get(appApi.getMethod());
            }
            final String[] body = {""};
            appApi.getParameters().forEach(p -> {
                JsonNode paramNode = jsonNode.get(p.getName());

+ 3 - 1
hos-camel2/src/main/java/camel/central/gateway/route/GatewayRouterBuilder.java

@ -58,7 +58,9 @@ public class GatewayRouterBuilder extends RouteBuilder {
                .to("jetty:http://192.168.1.221:10140/api/v1.0/packages");
        //统一网关入口(restful)
        from("jetty:http://0.0.0.0:9999/api").routeId("api")
        from("jetty:http://0.0.0.0:9999/api?bridgeEndpoint=true&enableMultipartFilter=false").routeId("api")
                .setHeader("User-Agent", header("UserAgent"))//使用postman测试时,无法设置User-Agent,使用UserAgent来获取
                .removeHeaders("CamelHttp*")
                .process(new GatewayProcessor())
                .routingSlip(method(GatewayProcessor.class, "route"));