https://github.com/combinedmq/combinedmq-spring
combinedmq的spring支持
https://github.com/combinedmq/combinedmq-spring
mq spring
Last synced: 6 months ago
JSON representation
combinedmq的spring支持
- Host: GitHub
- URL: https://github.com/combinedmq/combinedmq-spring
- Owner: combinedmq
- License: apache-2.0
- Created: 2018-11-13T03:15:27.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-02T21:55:30.000Z (over 2 years ago)
- Last Synced: 2025-02-01T16:48:25.720Z (over 1 year ago)
- Topics: mq, spring
- Language: Java
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
CombinedMq Spring
========================
[](https://travis-ci.com/combinedmq/combinedmq-spring)
[](https://search.maven.org/search?q=g:%22com.github.combinedmq%22%20AND%20a:%22combinedmq-spring%22)
CombinedMq Spring可以帮助您将CombinedMq集成到Spring中,通过spring schema配置的方式,能够非常方便的完成集成工作。
### 概述
schema配置主要有三个元素:
1. queue - 定义一个队列,并关联一个接口
2. producer - 队列接口的代理,用于发送消息
3. consumer - 引用一个队列接口的实现,用于接收消息
## 使用步骤
### Step 1: Maven依赖
```xml
com.github.combinedmq
combinedmq-spring
1.0.2
```
### Step 2: 创建一个接口
该接口的所有方法返回类型都只能是void类型:
```java
public interface GreetingService {
void sayHi(String name);
}
```
### Step 3: Spring Schema配置 - producer
在applicationContext.xml中加入CombinedMq的schema内容
```
```
可以通过@Autowired注解得到一个producer代理:
```java
@Service
public class ProducerTest {
@Autowired
private GreetingService greetingService;
public void sayHi(String name) {
greetingService.sayHi(name);
}
}
```
### Step 4: Spring Schema配置 - consumer
在applicationContext.xml中加入CombinedMq的schema内容
```
```
### Step 5: 连接相关的配置文件 - combinedmq.yml
在资源根目录下添加combinedmq.yml文件,如果您使用rabbitmq,可以在yml文件中加入下面内容:
```yaml
rabbitmq:
host: 10.1.7.22
port: 5672
username: xiaoyu
password: xiaoyu
virtualHost: /
consumerListener:
concurrency: 5 #消费者数量
producerPool: #连接池配置,连接池只是针对生产者有效
maxTotal: 100
maxIdle: 20
minIdle: 10
maxWaitMillis: 30000
minEvictableIdleTimeMillis: 60000
timeBetweenEvictionRunsMillis: 30000
testOnBorrow: false
testOnReturn: false
testWhileIdle: true
#consumerListener和producerPool可以不同时存在
```
activemq、kafka等其他配置可以查看此[配置文件](https://github.com/combinedmq/combinedmq/blob/master/src/test/resources/combinedmq.yml)。
(在集成到spring中时,combinedmq.yml文件中只能使用rabbitmq、activemq、kafka其中一种)