我有多家供应商的申请。因此,我试图为Stream中的特定供应商配置fixed-delay。示例:
application.yaml
spring:
cloud:
function:
definition: produce;produce2
stream:
poller:
produce:
fixedDelay: 10000L
produce2:
fixedDelay: 5000L
bindings:
produce-out-0:
destination: string-output
produce2-out-0:
destination: string-output-2代码片段
@Configuration
public class ProducerConfiguration {
private static final Logger LOGGER = LoggerFactory.getLogger(ProducerConfiguration.class);
@Bean
public Supplier<Object> produce() {
return () -> {
LOGGER.info("message");
return "message";
};
}
@Bean
public Supplier<Object> produce2() {
return () -> {
LOGGER.info("message-2");
return "message-2";
};
}
}但是根据spring的文档https://docs.spring.io/spring-cloud-stream/docs/3.1.2/reference/html/spring-cloud-stream.html#_polling_configuration_properties,它似乎只能为应用程序中的整个供应商配置一个org.springframework.cloud.stream.config.DefaultPollerProperties bean。这是正确的吗?
发布于 2021-06-07 14:22:08
事实上,目前函数式编程模型不支持这一点,因为它确实违反了微服务的概念,而spring云流正是针对这个概念设计的,其中一个主要原则是,您只做一件事,并且做得很好,而不影响其他服务。在您的示例中(特别是在源代码中),将多个微服务组合在一个JVM进程中,从而影响到另一个服务。
尽管如此,您可以随意使用提出问题,这样我们就可以考虑添加这个特性了
https://stackoverflow.com/questions/67871341
复制相似问题