是否可以使用 jetty 和 unirest 调试骆驼休息 dsl 组件

is it possible to debug camel rest dsl component with jetty and unirest

我有汽车服务Class:

    public class CarService {

        public Car getCar(){
            Car car = new Car();
            car.setBrand("hello");
            car.setId("1");
            return car;
        }
    }

至于我使用在通过 CDI 注入的 RouteBuilder 中定义的骆驼 restdsl 通过码头端点公开。

     restConfiguration().component("jetty")
                    .host("localhost")
                    .port("8889")
                    .bindingMode(RestBindingMode.json);

 rest("/cars").get().route().bean(CarService.class, "getCar");

这是我的单元测试

     @Test
        public void restTest() throws Exception {

            Main booter = new Main();
            booter.start();

            HttpResponse<JsonNode> carResponse =
                    Unirest.get("http://localhost:8889/cars").asJson();

            String s = carResponse.getBody().toString();

            assertEquals("{\"id\":\"1\",\"brand\":\"hello\"}", s);

            booter.stop();
        }

主要来自org.apache.camel.cdi

我正在使用 uniRest 发送 HTTP 请求 (http://unirest.io/java.html)

当运行单元测试时,它通过了,但是如果我在 getCar() 方法中放置断点,则不会命中断点。

rmq: 我也像这样尝试使用 producerTemplate

    List<CamelContext> contexts = ngbaMain.getCamelContexts();
    FluentProducerTemplate fpt =  DefaultFluentProducerTemplate.on(contexts.get(0));

    Object result = fpt.to("jetty:http://localhost:8889/cars?httpMethodRestrict=GET")
            .request(String.class);

但是也没用...

有人可以告诉我一些关于如何做到这一点的见解吗?这可能吗...测试端点会很棒...

更新

我正在使用 IntelliJ 进行测试,如果我在以下行中按 F7:

     HttpResponse<JsonNode> carResponse =
                    Unirest.get("http://localhost:8889/cars").asJson();

那是我进入的(奇怪的是,只需一两次 F7 就足够了)我进入了我的 CarService...所以也许它比骆驼或码头更像是一个智能的东西,或者....

正如我在更新问题中所述,当进入 unirest class 然后继续时,我可以到达断点。所以它更像是一个 IDE 相关的问题。