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() { public Consumer<Date> sink1() {
return System.out::println; return System.out::println;
} }
@Bean
public Consumer<String> sink2() {
return System.out::println;
}
} }

View File

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

View File

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

View File

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

View File

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