Files
2022-06-13 12:38:00 +08:00
..
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00
2022-06-13 12:38:00 +08:00

FKH MQ Starter

FKH V5 FKH Starter

项目简介

此项目为提供了一套通用接口, 简化发送与接收处理消息的逻辑, 目前集成了 Kafka 和 RocketMQ, 后期可使用 Apache Pulsar 代替.

功能特性

核心类介绍

.
├── IMessageType.java                       # 消息类型接口
├── MessageConstant.java                    # 消息常量类
├── RoleType.java                           # 应用角色
├── annotation
│   └── MessageHandler.java                 # 消息处理注解, 用在 `AbstractMessageNotifyHandler` 的子类上, 会自动注入到 IoC 中, 用于处理特定事件
├── consumer
│   ├── AbstractConsumer.java               # 消费者基类, 用于分发消息到具体的 handler 处理器上
│   ├── AbstractMessageHandler.java         # 消息处理器基类, 由子类继承后处理具体某类消息
│   └── AbstractMessageNotifyHandler.java   # 消息通知处理器基类, 用于处理消息通知
├── entity
│   ├── AbstractMessage.java                # 消息基类
│   ├── Distribute.java                     # 消息分发实体
│   ├── MessageExtAdapter.java              # 消息元数据
│   ├── MessageWrapper.java                 # 消息包装类
│   ├── MqResults.java                      # 消息 offset 信息
│   ├── SendResultInfo.java                 # 消息发送的一些信息
│   ├── TestHandler.java                    # 内置测试使用的消息处理器
│   └── TestMessage.java                    # 测试消息实体
├── exception
│   ├── MessageException.java
│   └── NotSupportMethodException.java
├── provider
│   ├── AbstractProvider.java               # 向外暴露的发送消息接口
│   └── ErrorMqProvider.java
└── support
    ├── ConsumerCacheMaps.java
    ├── MessageDispatcher.java              # 消息分发接口
    ├── MessageLoader.java                  # 根据消息类型从缓存中获取消息处理器
    ├── MessageProcessFactoriesLoader.java  # 消息类型与消息处理器的
    ├── MessageProcessManager.java          # 应用监听器, 在接收到 ContextRefreshedEvent 事件后处理应用内 @MessageHandler 标识的类, 主要是建立消息类型与消息处理器的映射关系
    └── MessageRegister.java                # 将消息处理器与消息类型的映射关系注册到缓存中

项目结构

集成使用

配置说明

注意事项

常见问题

后期计划

  • 消息增加 id
  • 实体类型的消息 traceId 透传问题处理;
  • 增加配置项