首页 > 解决方案 > 如何使用 camel-quarkus-jdbc 定义路由?

问题描述

我试图在我的代码中使用 camel-quarkus-jdbc 但收到错误:

“无法解析端点:jdbc://camel,原因是:在注册表中找不到 bean:camel 类型:javax.sql.DataSource”

互联网上没有太多关于此的信息。这是官方文档,没有太多描述: https ://camel.apache.org/camel-quarkus/latest/reference/extensions/jdbc.html

所以这是我的依赖项:

<dependency>
  <groupId>org.apache.camel.quarkus</groupId>
  <artifactId>camel-quarkus-jdbc</artifactId>
</dependency>
<dependency>
  <groupId>io.quarkus</groupId>
  <artifactId>quarkus-jdbc-db2</artifactId>
</dependency>

这是我在 application.properties 中的配置:

quarkus.datasource.camel.kind=db2
quarkus.datasource.camel.username=some_user
quarkus.datasource.camel.password=some_pass
quarkus.datasource.camel.jdbc.url=jdbc:db2://some_host:5034/some_database
quarkus.datasource.camel.jdbc.max-size=16

以下是我尝试向数据库发送 SQL 的方式:

    from(platformHttp("/db").httpMethodRestrict(HttpMethod.GET))
            .routeId("test:example:getfromdb")
            .setBody(constant("SELECT * \n"
                    + "FROM SOME_TABLE \n"
                    + "WHERE 1=1"))
            .to("jdbc:camel");

标签: jdbcapache-camelquarkus

解决方案


您有一个名称错误的属性。quarkus.datasource.camel.kind应该是quarkus.datasource.camel.db-kind


推荐阅读