是否可以使用 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 相关的问题。
我有汽车服务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 相关的问题。