我有一个简单的应用程序(Java),正在使用Camel监听Kafka主题。该主题名称遵循以下模式:
foo.bar.lol
foo.bar.wat
我知道这些主题将始终以foo.bar.
开头,但是可能有无限多个第三级项目。
不可能添加多个路由,一个路由用于foo.bar.lol
,一个路由用于foo.bar.wat
,因为存在无限多的路由。也不可能更改生成这些主题名称并将其提供给我的方式。这样吧。
相关内容:
camel.properties
...
kafka.brokers=x.x.x.x:1234,y.y.y.y:2345,z.z.z.z:3456
kafka.incoming-topic=foo.bar.*
...
注意:我也尝试过kafka.incoming-topic=foo.bar.>
,这显然是递归通配符选择器。没什么。
路线相关物品
from("kafka:{{kafka.incoming-topic}}?brokers={{kafka.brokers}}")
完整的pom.xml依赖关系列表-没有Spring或类似的东西
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.22.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-kafka</artifactId>
<version>2.22.0</version>
</dependency>
</dependencies>
我知道其他一切都很好,因为如果我将kafka.incoming-topic
显式更改为foo.bar.lol
,那么我会收到很好的消息。
这不可能吗?我做错了吗?