Apache Camel:和码头一起享用休息服务

问题描述 投票:0回答:1

我想用码头用阿帕奇骆驼在http://localhost:8080/中享用休息服务。但是此代码不会对API产生任何请求。我是apache-camel的初学者,我想用来编排不同的微服务。

产品编号:

package example;

import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;



public class ejemplo {

    public static void main(String[] args) throws Exception {



        CamelContext context = new DefaultCamelContext();
        context.setTracing(true);
        context.addRoutes(new RouteBuilder(){

            @Override
            public void configure() throws Exception {

                from("direct:start")
                .log("Http Route started")
                .setHeader(Exchange.HTTP_METHOD,simple("GET"))
                .setHeader(Exchange.CONTENT_TYPE,simple("application/json"))
                .to("jetty:http://0.0.0.0:8080/")
                .process(new Processor(){

                    public void process(Exchange exchange) throws Exception {
                        System.out.println("I am a process....");
                        String msg = exchange.getIn().getBody().toString();
                        System.out.println(msg);

                    }

                });

            }

        });

        context.start();

    }

}

日志:

sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext start
INFORMACIÓN: Apache Camel 2.17.1 (CamelContext: camel-1) is starting
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext doStartCamel
INFORMACIÓN: Tracing is enabled on CamelContext: camel-1
sep 24, 2019 7:57:05 PM org.apache.camel.management.ManagedManagementStrategy doStart
INFORMACIÓN: JMX is enabled
sep 24, 2019 7:57:05 PM org.apache.camel.impl.converter.DefaultTypeConverter doStart
INFORMACIÓN: Loaded 208 type converters
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultRuntimeEndpointRegistry doStart
INFORMACIÓN: Runtime endpoint registry is in extended mode gathering usage statistics of all incoming and outgoing endpoints (cache limit: 1000)
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext doStartCamel
INFORMACIÓN: AllowUseOriginalMessage is enabled. If access to the original message is not needed, then its recommended to turn this option off as it may improve performance.
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext doStartCamel
INFORMACIÓN: StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
sep 24, 2019 7:57:05 PM org.eclipse.jetty.util.log.Log initialized
INFORMACIÓN: Logging initialized @1372ms
sep 24, 2019 7:57:06 PM org.apache.camel.impl.DefaultCamelContext doStartOrResumeRouteConsumers
INFORMACIÓN: Route: route1 started and consuming from: Endpoint[direct://httpRouter]
sep 24, 2019 7:57:06 PM org.apache.camel.impl.DefaultCamelContext start
INFORMACIÓN: Total 1 routes, of which 1 are started.
sep 24, 2019 7:57:06 PM org.apache.camel.impl.DefaultCamelContext start
INFORMACIÓN: Apache Camel 2.17.1 (CamelContext: camel-1) started in 1.466 seconds

此输出不会在localhost:8080中产生API的任何响应,但我认为路由是正确的。我想知道是否还有其他使用apache-camel消耗API REST的REST服务的方法。

java apache apache-camel jetty
1个回答
0
投票

请注意,start只是一个名称,direct组件允许您从其他路由同步调用您的路由,似乎您不只是在执行此操作

要检查路由是否正确,请将端点中的direct替换为timer,例如from("timer://foo?fixedRate=true&period=10000"),有关更多详细信息,请参见camel docs

© www.soinside.com 2019 - 2024. All rights reserved.