我想使用 Apache Camel 将数据发送到 InfluxDB。我处于初学者水平,我什至无法理解camel的文档。我正在努力在<route>
中到底需要写什么。 spring 配置 XML 的标签。 In the documentation它说:
- URI 格式:
influxdb://beanName?[options]
- InfluxDB 端点使用 URI 语法进行配置:
influxdb:connectionBean
我如何使用这些信息?您能否提供一个更具指导性的示例来说明 config.xml 的外观以及如何在代码中调用它?
谢谢
最佳答案
我认为您需要配置一个 Spring Boot InfluxDb 类实例,然后按照文档中所述使用 beanName 引用它。
这可以使用 spring boot 自动配置来创建:
- https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-nosql.html#boot-features-connecting-to-influxdb
- https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfiguration.html
根据Spring AnnotationNameGenerator默认名称(来自 yml 自动配置的 bean)应该只是 influxDB
。我们还可以看看the bean definition code并确认它正在创建一个 InfluxDB
类实例。
然后在camel中配置influxdb://influxDB
。
除了自动配置之外,此替代方案也应该有效(未经测试 - source ):
@Configuration
public class AppConfig {
@Bean(name = "myInflux")
public InfluxDb influxClient{
return InfluxDBFactory.connect(databaseURL, userName, password);
}
}
然后在camel中配置influxdb://myInflux
。
关于java - 如何定义到 InfluxDB 的 Apache Camel 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283635/