如何为 Camel component/endpoint 编写 Camel Quarkus 扩展?
How to write a Camel Quarkus extension for a Camel component/endpoint?
我有自己的骆驼component/endpoint,我在的许多路线中成功使用Spring 启动应用程序。
我正在尝试迁移到 camel quarkus 并在我的应用程序中使用相同的 routes。
不可能在我的 camel-quarkus 应用程序 中使用这个 component/endpoint 只需添加相关的依赖项:quarkus 无法像 Spring Boot 一样发现此 component/endpoint。
显而易见的解决方案是编写一个 quarkus 扩展,在后台使用这个 camel-component:quarkus extensions like jdbc, file, sql and so on are implemented using the corresponding camel-components.
如果我们看一下 pom-xml of sql of its runtime module, we find that it's using the equivalent camel-sql component:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-sql</artifactId>
</dependency>
我的问题是 quarkus 仍然没有发现 component/endpoint 即使按项目构建(我正在使用 eclipse),quarkus 显示它已经安装了我的扩展。
我在互联网上搜索了很长时间,但没有找到任何有用的资源。
使用此依赖项。所有以 group id 开头的 quarkus dependecies 是 org.apache.camel.quarkus 和 artifact camel-quarkus-xxx
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-sql</artifactId>
</dependency>
对于 postgresql
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jdbc-postgresql</artifactId>
</dependency>
显而易见的解决方案是不写额外的扩展。
当且仅当:
时,Quarkus 运行时才会发现模块或第三方依赖项中的 类
- 第三方依赖在宿主项目中被索引:
通过将以下条目添加到 .properties 文件:
quarkus.index-dependency..group-id=
quarkus.index-dependency..artifact-id=
或.yaml文件:
quarkus:
index-dependency:
<name>:
group-id: <group-id>
artifact-id: <artifact-id>
其中 和 是第三方的。
- jandex-maven-plugin 存在于此模块或第三方依赖项的 pom.xml 中
- 下面有一个空的 beans.xml
src/main/resorces/META-INF 这个 module/dependency
我在这个 .
中找到了我的问题的答案
我有自己的骆驼component/endpoint,我在的许多路线中成功使用Spring 启动应用程序。 我正在尝试迁移到 camel quarkus 并在我的应用程序中使用相同的 routes。
不可能在我的 camel-quarkus 应用程序 中使用这个 component/endpoint 只需添加相关的依赖项:quarkus 无法像 Spring Boot 一样发现此 component/endpoint。
显而易见的解决方案是编写一个 quarkus 扩展,在后台使用这个 camel-component:quarkus extensions like jdbc, file, sql and so on are implemented using the corresponding camel-components.
如果我们看一下 pom-xml of sql of its runtime module, we find that it's using the equivalent camel-sql component:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-sql</artifactId>
</dependency>
我的问题是 quarkus 仍然没有发现 component/endpoint 即使按项目构建(我正在使用 eclipse),quarkus 显示它已经安装了我的扩展。 我在互联网上搜索了很长时间,但没有找到任何有用的资源。
使用此依赖项。所有以 group id 开头的 quarkus dependecies 是 org.apache.camel.quarkus 和 artifact camel-quarkus-xxx
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-sql</artifactId>
</dependency>
对于 postgresql
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jdbc-postgresql</artifactId>
</dependency>
显而易见的解决方案是不写额外的扩展。 当且仅当:
时,Quarkus 运行时才会发现模块或第三方依赖项中的 类- 第三方依赖在宿主项目中被索引: 通过将以下条目添加到 .properties 文件:
quarkus.index-dependency..group-id=
quarkus.index-dependency..artifact-id=
或.yaml文件:
quarkus:
index-dependency:
<name>:
group-id: <group-id>
artifact-id: <artifact-id>
其中
- jandex-maven-plugin 存在于此模块或第三方依赖项的 pom.xml 中
- 下面有一个空的 beans.xml src/main/resorces/META-INF 这个 module/dependency
我在这个