• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

rocketONS-starter: 轻量级springBootStarter,基于阿里云ONS消息服务的一个简易封装, ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

rocketONS-starter

开源软件地址:

https://gitee.com/zc_oss/rocketONS-starter

开源软件介绍:

rocketONS-starter

介绍

轻量级springBootStarter,基于阿里云ONS消息服务的一个简易封装,能快捷的创建rocketMQ的生产者和消费者,实现应用之间的消息传递.

软件架构

基于spring的ApplicationContext容器管理,自动扫描consumer监听器,并注册启动消费者,来回调接受来自阿里云ONS服务传递分发的消息.可根据配置文件动态创建消费者和生产者,自定义消费者的启停开关,自动序列化和解析消息实体.

安装教程

       <dependency>             <groupId>io.gitee.zhucan123</groupId>             <artifactId>rocket-ons-spring-boot-starter</artifactId>             <version>1.0.8</version>       </dependency>

使用说明

1. 项目加入配置

rocket:  address: http://xxxx  secretKey: xxxx  accessKey: xxxx  topic: xxxx  groupSuffix: GID_  enable: true  delay: 1000
参数名类型是否必填默认值描述
accessKeyString-您在阿里云账号管理控制台中创建的 AccessKeyId,用于身份认证。
secretKeyString-您在阿里云账号管理控制台中创建的 AccessKeySecret,用于身份认证。
addressString-设置 TCP 协议接入点。
groupSuffixStringGID_您在控制台创建的 Group ID 的前缀,一般是以GID_头。
topicString-默认绑定的topic,当生产者未指定topic时使用这个默认值
delayString1000消息发送延迟毫秒数
enableStringtrue是非开启使用

最新配置及说明,详见阿里云官方文档:https://help.aliyun.com/document_detail/93574.html?spm=a2c4g.11186623.6.553.8185447dHy2atL

1.1 在主程序上面加上@EnableRocketONS来开启使用,或配置类中设置 rocket.enable = true
@EnableRocketONSpublic class App {    public static void main(String[] args) {        SpringApplication.run(App.class, args);    }}

2. consumer的使用示例代码

@ConsumerListener(tags = "msg_tag", consumers = 2)@OnsConfiguration(topic = "topic-example", group = "GID_${example.group}")public class ExampleConsumerListener implements RocketListener<MessageData> {  @Override  public Action consume(Message message, MessageData messageBody, ConsumeContext consumeContext) {    // do someThing!    return Action.CommitMessage;  }}
  • @OnsConfiguration : 注册成一个spring容器,并设置消费者绑定的topic和group,可设置固定值,也可以使用${propertiesKey}的方式读取配置文件里面的配置

  • @ConsumerListener : 标识这是一个ons的消息消费者监听器

    1. tags:接受带有相关tag的消息
    2. consumers : 启动的实例数量
  • MessageData : 为消息体类型class,可替换为任意java类

  • consume : 为消费业务逻辑处理方法

3. 生产者的使用

@OnsConfiguration(topic = "topic-example", group = "group-example")public class ExampleProducer extends DefaultProducerProxy {}
  • @OnsConfiguration : 注册成一个spring容器,并设置生产者绑定的topic和group,可设置固定值,也可以使用${propertiesKey}的方式读取配置文件里面的配置
  • 继承通用的消息生产者基类, DefaultProducerProxy调用父类的sendMsg方法生产消息,并把消息投递到阿里云ONS服务

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

码云特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap