spring-cloud-stream 使用篇

如何使用

以上文自定义sns binder为例,生产者和消费者使用方式如下

生产者

1. 依赖引入及配置

依赖导入

        <!-- stream -->
        <dependency>
            <groupId>com.kadadesign.framework</groupId>
            <artifactId>spring-cloud-stream-binder-sns</artifactId>
        </dependency>

Binding配置及默认Binder配置

spring:
  cloud:
    stream:
      bindings:
        sendMessage1-out-0:
          destination: kadadesign
          binder: sns
        sendMessage2-out-0:
          destination: kadadesign
          binder: sns
# aws 
cloud:
  aws:
    credentials:
      access-key: <your-access-key>
      secret-key: <your-secret-key>
    region:
      static: <your-region>
    sns:
      enabled: true

2. 发送消息

StreamBridge#send(bindingName, data);

消费者

1. 依赖引入及配置

依赖导入

        <!-- stream -->
        <dependency>
            <groupId>com.kadadesign.framework</groupId>
            <artifactId>spring-cloud-stream-binder-sns</artifactId>
        </dependency>

Binding配置及默认Binder配置

spring:
  cloud:
    stream:
      bindings:
        sendMessage1-in-0:
          destination: kadadesign
          binder: sns
        sendMessage2-in-0:
          destination: kadadesign
          binder: sns
    # 多组消费者需要进行function定义配置
    function:
      definition: sendMessage1;sendMessage2
# aws 
cloud:
  aws:
    credentials:
      access-key: <your-access-key>
      secret-key: <your-secret-key>
    region:
      static: <your-region>
    sns:
      enabled: true
      # 扩展配置,用于订阅sns的访问域名,含schema,例如:http://xx.xx.xx
      subscription:
        endpoint: <your-endpoint> 

2. 接收消息

@Service
public class MessageReceiveService {

    @Bean
    public Consumer<UserDTO> sendMessage1() {
        return (message) -> {
            System.out.println("Received Message 1 userDTO: " + message);
        };
    }

    @Bean
    public Consumer<String> sendMessage2() {
        return (message) -> {
            System.out.println("Received Message 2 String: " + message);
        };
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容