Brax :
I would like to use spring scheduling for producing messages using @Scheduled
but I am not able to get it working. Here is my producer:
@SpringBootApplication
@EnableScheduling
public class ProducerApplication {
public static void main(String[] args) {
SpringApplication.run(ProducerApplication.class, args);
}
private int counter;
@Bean
@Scheduled(fixedDelay = 100)
public Supplier<String> producer() {
return () -> "Hello " + counter++;
}
}
application.yaml:
spring:
cloud:
stream:
bindings:
producer:
destination: input-destination
group: input-group
function:
bindings:
producer-out-0: producer
Here is consumer:
@SpringBootApplication
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
@Bean
public Consumer<String> consumer() {
return System.out::println;
}
}
application.yaml:
spring:
cloud:
stream:
bindings:
consumer:
destination: input-destination
group: input-group
function:
bindings:
consumer-in-0: consumer
I would like this to run on 100
ms but it is doing it is running in default settings 1000
. How can I get this working?
Sam :
You can use spring.cloud.stream.poller.fixed-delay=100
application property to set the poll time. The value is in milliseconds. Eg of application.yml
:
spring:
cloud:
stream:
poller:
fixed-delay: 100
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=344729&siteId=1