在主类中调用骆驼路由端点



我创建了一个带有端点的骆驼路由`direct:getRestFromeXternAlservice,当我尝试在另一类的主要方法中使用此端点时,我会得到异常

在交易所执行期间发生了例外:Exchange [ID-WMLI118067-61025-149383025815-0-2]

端点上没有可用的消费者:端点[direct://getrestfromexternalservice]。Exchange [ID-WMLI118067-61025-14938383025815-0-2]

这是路由类:

public class MyRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
    // Create the camel context for the REST API routing in Fuse
            CamelContext contextFuseAPI = new DefaultCamelContext();
            // Start the route inside the context to listen to the ActiveMQ
            contextFuseAPI.addRoutes(new RouteBuilder() {
                @Override
                public void configure() {
                    from("direct:getRestFromExternalService")
                        .setHeader(Exchange.HTTP_METHOD, simple("GET"))
                        .to("<external API URI>");
                }
});
}
}

这是带有主要方法的类,可以调用此路线:

public class FuseApp {
public static void main(String[] args) throws Exception {
    CamelContext contextFuseAPI = new DefaultCamelContext();
    contextFuseAPI.addRoutes(new MyRoute());
    contextFuseAPI.start();
    Thread.sleep(3000);
    ProducerTemplate template = contextFuseAPI.createProducerTemplate();
    Object result = template.requestBody("direct:getRestFromExternalService", null, String.class);

    Exchange exchange = new DefaultExchange(contextFuseAPI);
    String response = ExchangeHelper.convertToType(exchange, String.class, result); 
    System.out.println("Response : "+ response);        
    contextFuseAPI.stop();

}
}

我在没有生产板和对象线的情况下测试了主方法,并且它运行。有没有办法从不同类中实现的路由的端点调用请求机构?

我解决了它,问题是上下文既是在路由类中和主方法类中创建的。

最新更新