Apache Camel:使用 jetty 消费休息服务

我想使用jetty在http://localhost:8080/中使用apache-camel的休息服务。但这段代码不会产生任何对 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();


    }


}

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



慕田峪7331174
浏览 191回答 1
1回答

呼如林

请注意,这start只是一个名称和direct组件,允许您从其他路由同步调用您的路由,看起来您不只是这样做要检查路线是否正确,direct请将 from 端点替换为timer,例如from("timer://foo?fixedRate=true&period=10000")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java