1 Commits

Author SHA1 Message Date
4d9c821d11 函数式编程,定时触发 2021-02-21 11:37:59 +08:00
5 changed files with 24 additions and 33 deletions

View File

@@ -18,9 +18,4 @@ public class ConsumerApplication {
public Consumer<Date> sink1() {
return System.out::println;
}
@Bean
public Consumer<String> sink2() {
return System.out::println;
}
}

View File

@@ -7,16 +7,11 @@ spring:
cloud:
stream:
bindings:
send1:
destination: test2
send2:
destination: test3
function:
# 定义别名
bindings:
sink1-in-0: send1
sink2-in-0: send2
definition: sink1;sink2
sink1-in-0:
destination: test1
function:
definition: sink1
server:
port: 8081

View File

@@ -1,13 +1,11 @@
package top.fjy8018.producer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.stream.function.StreamBridge;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.function.Supplier;
/**
* @author F嘉阳
@@ -17,18 +15,12 @@ import java.util.Date;
public class Producer {
@Autowired
private StreamBridge streamBridge;
private Supplier<Date> supplier;
@RequestMapping("/send1")
public String send1() {
streamBridge.send("send1", new Date());
return "success1";
}
@RequestMapping("/send2")
public String send2() {
streamBridge.send("send2", LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
return "success2";
@RequestMapping("/send")
public String send() {
supplier.get();
return "success";
}
}

View File

@@ -2,6 +2,10 @@ package top.fjy8018.producer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import java.util.Date;
import java.util.function.Supplier;
@SpringBootApplication
public class ProducerApplication {
@@ -9,4 +13,9 @@ public class ProducerApplication {
public static void main(String[] args) {
SpringApplication.run(ProducerApplication.class, args);
}
@Bean
public Supplier<Date> source1() {
return () -> new Date();
}
}

View File

@@ -7,10 +7,10 @@ spring:
cloud:
stream:
bindings:
send1:
destination: test2
send2:
destination: test3
source1-out-0:
destination: test1
function:
definition: source1
server: