当前位置: 首页 > 知识库问答 >
问题:

在Apache Camel中使用多个rest dsl路由生成器定义restConfiguration()的最佳方法

姜兴业
2023-03-14

我对camel比较陌生,我正在寻找一种很好的方法来定义多个路由构建器,使用camel中的REST DSL组件,同时使用一个restConfiguration()定义,因为这应该在所有路由构建器中保持不变。

共有1个答案

锺离逸春
2023-03-14

我不这么认为。

通过使用Spring Boot并使用@component注释REST路由类,您将能够将REST配置与REST服务分开,但所有这些配置都将是同一个Camel上下文的一部分。

java prettyprint-override">@Component
class MyRestConfig extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        restConfiguration()
            .contextPath("/my-api")
            .apiContextPath("/doc")
            .bindingMode(RestBindingMode.json)
            ...
        ;
    }
}

@Component
class BooksService extends RouteBuilder {

    @Override
    public void configure() throws Exception {

        rest("/books").description("Books-related service")

        .get()
            .description("Lists Books according to the search parameters.")
            .produces("application/json")
            .route()
                .routeId("api-books-search")
                .to("direct://books-service-core")
            .end()
        .endRest();
    }

}
 类似资料:
  • 我想了解同一驼峰环境中的多条路由将如何运行? 例如,假设我有一个应用程序,其中有一个camel上下文,其中包含三个不同的路由生成器,每个生成器定义一条路由。每一条路由都在监听不同的队列。 有人能告诉我这三条线路是并行工作还是只有一条线路在其他线路等待时处理信息吗?

  • 这里我只有一个routebuilder类,configure方法有创建多个路由的for循环。

  • 问题内容: 我正在创建一个Web API,需要一种很好的方法来非常快速地生成一些格式正确的xml。我找不到在python中执行此操作的任何好方法。 注意:一些库看起来很有前途,但要么缺少文档,要么仅输出到文件。 问题答案: 使用lxml: 输出: 有关更多信息,请参见教程。

  • 问题内容: 我正在尝试使用express.js创建一个简单的CMS,以动态创建路由。它从数据库中获取一个JSON,如下所示: 并遍历对象以创建路由,如下所示: 现在一切正常。但是问题在于,每次用户修改内容和路径时,都需要重新启动整个节点应用程序。我没有找到任何API调用来删除路由。 有什么方法可以安全地删除通过app.get设置的旧路由吗?我应该这样做吗? 有没有更好的方法来进行这种路由?我喜欢这

  • 问题内容: 在Java中生成唯一ID的最佳方法是什么。人们普遍使用 但是这种方法需要在多线程应用程序中进行同步。 我在用 这种方法可以帮助我避免同步开销。 有什么更好的方法请提出建议? 问题答案: 如何使用UUID:http : //java.sun.com/j2se/1.5.0/docs/api/java/util/UUID.html#randomUUID%28%29

  • 我想在一个单元中测试多个camel RouteBuilder,我有: 更改状态的自定义骆驼处理器 两个简单的路由构建器:第一个路由消息从“direct:start”路由到“direct:endroute1”;第二个从“direct:endroute1”拾取消息并路由到“mock:endroute2”