{"id":15019323,"url":"https://github.com/combinedmq/combinedmq-spring-boot","last_synced_at":"2026-01-20T04:32:07.322Z","repository":{"id":57719671,"uuid":"157314570","full_name":"combinedmq/combinedmq-spring-boot","owner":"combinedmq","description":"combinedmq的spring boot支持","archived":false,"fork":false,"pushed_at":"2019-06-07T06:21:44.000Z","size":22,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-02T07:41:17.841Z","etag":null,"topics":["mq","spring","spring-boot","spring-boot-starter"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/combinedmq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-13T03:26:12.000Z","updated_at":"2019-06-07T06:21:46.000Z","dependencies_parsed_at":"2022-09-26T21:40:53.682Z","dependency_job_id":null,"html_url":"https://github.com/combinedmq/combinedmq-spring-boot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/combinedmq/combinedmq-spring-boot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combinedmq%2Fcombinedmq-spring-boot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combinedmq%2Fcombinedmq-spring-boot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combinedmq%2Fcombinedmq-spring-boot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combinedmq%2Fcombinedmq-spring-boot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/combinedmq","download_url":"https://codeload.github.com/combinedmq/combinedmq-spring-boot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combinedmq%2Fcombinedmq-spring-boot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28596079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mq","spring","spring-boot","spring-boot-starter"],"created_at":"2024-09-24T19:53:20.097Z","updated_at":"2026-01-20T04:32:07.305Z","avatar_url":"https://github.com/combinedmq.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"CombinedMq Spring Boot\n========================\n[![Build Status](https://travis-ci.com/combinedmq/combinedmq-spring-boot.svg?branch=master)](https://travis-ci.com/combinedmq/combinedmq-spring-boot)\n[![Maven Central](https://img.shields.io/maven-central/v/com.github.combinedmq/combinedmq-spring-boot.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.github.combinedmq%22%20AND%20a:%22combinedmq-spring-boot%22)\n\nCombinedMq Spring Boot可以帮助您将CombinedMq集成到Spring Boot中，通过application.yml配置和使用注解的方式，能够非常方便的完成集成工作。\n\n### 概述\n使用注解的方式来使用CombinedMq，会涉及到四个注解:\n1. @Queue - 标注在一个接口类型上\n2. @Producer - 标注在类的成员变量上，该变量应该是一个由@Queue标注的接口,用来发送消息\n3. @Consumer - 标注在一个由@Queue标注的接口的实现类上，用来接收消息\n4. @EnableCombinedMq - 指定basePackages，开启对@Queue注解进行扫描的功能\n## 使用步骤\n### Step 1: Maven依赖\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.github.combinedmq\u003c/groupId\u003e\n  \u003cartifactId\u003ecombinedmq-spring-boot-starter\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n### Step 2: 创建一个接口\n\n该接口的所有方法返回类型都只能是void类型:\n```java\n@Queue(name = \"x.y.z\")\npublic interface GreetingService {\n    void sayHi(String name);\n}\n```\n### Step 3: 实现消费者功能\n- application.yml配置\n\n```yaml\ncombinedmq:\n  rabbitmq:\n    host: 10.1.7.22\n    port: 5672\n    username: xiaoyu\n    password: xiaoyu\n    virtualHost: /\n    consumer-listener:\n      concurrency: 5\n```\n\n- 实现GreetingService接口\n\n```java\n@Slf4j\n@Service\n@Consumer\npublic class GreetingServiceImpl implements GreetingService {\n \n    @Override\n    public void sayHi(String name) {\n        log.info(\"接收消息: {}\", name);\n    }\n}\n```\n\n- 启动Spring Boot Consumer程序\n\n```java\n@EnableCombinedMq({\"combinedmq\"})\n@SpringBootApplication\npublic class ConsumerMain {\n    public static void main(String[] args) {\n        new SpringApplicationBuilder(ConsumerMain.class).web(false).run(args);\n    }\n}\n```\n### Step 4: 实现生产者功能\n- application.yml配置\n\n```yaml\ncombinedmq:\n  rabbitmq:\n    host: 10.1.7.22\n    port: 5672\n    username: xiaoyu\n    password: xiaoyu\n    virtualHost: /\n    producer-pool:\n      maxTotal: 100\n      maxIdle: 20\n      minIdle: 10\n      maxWaitMillis: 30000\n      minEvictableIdleTimeMillis: 60000\n      timeBetweenEvictionRunsMillis: 30000\n      testOnBorrow: false\n      testOnReturn: false\n      testWhileIdle: true\n```\n- 使用@Producer注入GreetingService\n\n```java\n@Slf4j\n@RestController\npublic class GreetingController {\n \n    @Producer(delayMillis = 5000)\n    private GreetingService greetingService;\n\n    @RequestMapping(\"sayHi/{name}\")\n    public String sayHi(@PathVariable String name) {\n        log.info(\"准备发送消息\");\n        greetingService.sayHi(name);\n        log.info(\"消息发送成功: {}\", name);\n        return \"发送成功\";\n    }\n}\n```\n- 启动Spring Boot Producer程序\n\n```java\n@EnableCombinedMq({\"combinedmq\"})\n@SpringBootApplication\npublic class ProducerMain {\n    public static void main(String[] args) {\n        SpringApplication.run(ProducerMain.class, args);\n    }\n}\n```\n## 项目模块\nCombinedMq Spring Boot 由以下几个子模块组成:\n\n- [combinedmq-spring-boot-autoconfigure](https://github.com/combinedmq/combinedmq-spring-boot/tree/master/combinedmq-spring-boot-autoconfigure)\n\n- [combinedmq-spring-boot-samples](https://github.com/combinedmq/combinedmq-spring-boot/tree/master/combinedmq-spring-boot-samples)\n\n- [combinedmq-spring-boot-starter](https://github.com/combinedmq/combinedmq-spring-boot/tree/master/combinedmq-spring-boot-starter)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcombinedmq%2Fcombinedmq-spring-boot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcombinedmq%2Fcombinedmq-spring-boot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcombinedmq%2Fcombinedmq-spring-boot/lists"}