Prechádzať zdrojové kódy

camel2 RESTLET bug修复

huangzhiyong 8 rokov pred
rodič
commit
057d292e06

+ 3 - 3
hos-broker/src/main/resources/log4j.properties

@ -24,9 +24,9 @@ log4j.rootLogger=INFO, jms
#log4j.logger.org.apache.camel.component.http4=DEBUG
# CONSOLE appender not used by default
log4j.appender.out=org.apache.log4j.ConsoleAppender
log4j.appender.out.layout=com.yihu.hos.broker.common.log.PatternLayout
log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
#log4j.appender.out=org.apache.log4j.ConsoleAppender
#log4j.appender.out.layout=com.yihu.hos.broker.common.log.PatternLayout
#log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
log4j.appender.jms=com.yihu.hos.broker.common.log.JMSAppender

+ 14 - 0
hos-camel2/src/main/java/api1/processor/ApiProcessor.java

@ -0,0 +1,14 @@
package api1.processor;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
public class ApiProcessor implements Processor {
    public void process(Exchange exchange) throws Exception {
        Message outMessage = exchange.getOut();
        System.out.println("测试,helloWorld 打印camel接口");
        outMessage.setBody("hello,api1xxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    }
}

+ 13 - 0
hos-camel2/src/main/java/api1/route/ApiRouteBulider.java

@ -0,0 +1,13 @@
package api1.route;
import api1.processor.ApiProcessor;
import org.apache.camel.builder.RouteBuilder;
public class ApiRouteBulider extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("jetty:http://0.0.0.0:9097/api/v7").routeId("api1")
                .process(new ApiProcessor()).log("servers: 0,code: ,order: 0").log("servers: 0,code: ,order: 0");
    }
}

+ 14 - 0
hos-camel2/src/main/java/api7/processor/ApiProcessor.java

@ -0,0 +1,14 @@
package api7.processor;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
public class ApiProcessor implements Processor {
    public void process(Exchange exchange) throws Exception {
        Message outMessage = exchange.getOut();
        System.out.println("测试,helloWorld 打印camel接口");
        outMessage.setBody("hello,api7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    }
}

+ 13 - 0
hos-camel2/src/main/java/api7/route/ApiRouteBulider.java

@ -0,0 +1,13 @@
package api7.route;
import api7.processor.ApiProcessor;
import org.apache.camel.builder.RouteBuilder;
public class ApiRouteBulider extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("jetty:http://0.0.0.0:9097/api/v1").routeId("api7")
                .process(new ApiProcessor()).log("servers: 0,code: ,order: 0").log("servers: 0,code: ,order: 0");
    }
}

+ 15 - 13
hos-camel2/src/main/java/camel/gateway/processor/GatewayProcessor.java

@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.core.http.HTTPResponse;
import com.yihu.hos.core.http.HttpClientKit;
import org.apache.camel.Body;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
@ -26,22 +25,24 @@ public class GatewayProcessor implements Processor {
    public void process(Exchange exchange) throws Exception {
        Message inMessage = exchange.getIn();
        String appKey = exchange.getIn().getHeaders().get("appKey").toString();
        String secret = getSecret(appKey);
        exchange.setOut(inMessage);
        exchange.getOut().setHeader("secret", secret);
    }
        Map<String, Object> headers = exchange.getIn().getHeaders();
//        exchange.setOut(inMessage);
        exchange.getOut().setHeader("api", headers.get("api"));
        exchange.getOut().setHeader("param", headers.get("param"));
        exchange.getOut().setHeader("timestamp", headers.get("timestamp"));
        exchange.getOut().setHeader("v", headers.get("v"));
        exchange.getOut().setHeader("appKey", headers.get("appKey"));
        exchange.getOut().setHeader("sign", headers.get("sign"));
    public String secret(@Body String body, Exchange exchange) throws IOException, ParseException {
        System.out.println(body);
        String appKey = exchange.getIn().getHeaders().get("appKey").toString();
        return "restlet:"+ agUrl + "/api/v1.0/admin/apps/" + appKey;
    }
    public String route(Exchange exchange) throws IOException, ParseException {
//        body = URLDecoder.decode(body, "UTF-8");
        Map<String, Object> params = exchange.getIn().getHeaders();
        String secret = params.get("secret").toString();
        String appKey = params.get("appKey").toString();
        String secret = getSecret(appKey);
        if (secret.equals("")) {
            return "jetty:http://0.0.0.0:9999/error/paramError";    //TODO:
        }
@ -96,8 +97,8 @@ public class GatewayProcessor implements Processor {
        Calendar date = Calendar.getInstance();
        long timeInMillis = date.getTimeInMillis();
        java.util.Date min = new java.util.Date(timeInMillis - 5 * ONE_MIN);
        java.util.Date max = new java.util.Date(timeInMillis + 5 * ONE_MIN);
        java.util.Date min = new java.util.Date(timeInMillis - 30 * ONE_MIN);
        java.util.Date max = new java.util.Date(timeInMillis + 30 * ONE_MIN);
        return ts.after(min) && ts.before(max);
@ -194,6 +195,7 @@ public class GatewayProcessor implements Processor {
            if (body[0].length() != 0) {
                exchange.getOut().setHeader(Exchange.REST_HTTP_QUERY, body[0].substring(1));
            }
//            exchange.getOut().setBody(null);
            return endPoint[0];
        } catch (IOException e) {
            e.printStackTrace();

+ 2 - 0
hos-camel2/src/main/java/camel/gateway/route/GatewayRouterBuilder.java

@ -40,6 +40,8 @@ public class GatewayRouterBuilder extends RouteBuilder {
        from("jetty:http://0.0.0.0:9999/sign").routeId("sign")
        .process(new SignProcessor());
        from("jetty:http://0.0.0.0:9999/rest").routeId("restTest")
        .to("restlet:http://192.168.1.221:10000/api/v1.0/admin/doctors/admin/13?autoCloseStream=true");
    }
}

+ 1 - 1
hos-parent/pom.xml

@ -104,7 +104,7 @@
        <repository>
            <id>repositoryReleases</id>
            <name>repositoryReleases</name>
            <url>http://172.19.103.47:8081/nexus/content/repositories/releases/</url>
            <url>http://172.19.103.43:8081/nexus/content/repositories/releases/</url>
        </repository>
    </repositories>

+ 3 - 1
src/main/java/com/yihu/hos/system/service/FlowManager.java

@ -20,6 +20,7 @@ import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.model.bo.ServiceFlow;
import com.yihu.hos.web.framework.util.GridFSUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
@ -48,6 +49,8 @@ public class FlowManager {
    private FlowClassDao flowClassDao;
    @Resource(name = FlowTempDao.BEAN_ID)
    private FlowTempDao flowTempDao;
    @Value("${spring.data.mongodb.gridFsDatabase}")
    private String dbName;
    @Autowired
    private MongoConfig mongoConfig;
@ -436,7 +439,6 @@ public class FlowManager {
    public Result readFile(OutputStream os, String fileName) {
        String dbName = "upload";
        try {
            fileName = DES.decrypt(fileName, DES.COMMON_PASSWORD);
            GridFSUtil.readFile(mongoConfig.mongoClient().getDatabase(dbName), os, fileName);