浅谈jms 现在在一些并发量比较高的接口 服务,很容易导致系统崩溃
jms 起到了很好的作用 ,
- 削峰平谷,将处理比较慢的逻辑分散开保证主程序不会奔溃
- 异步处理 将要处理的消息 丢到消息队列里面让另外一个程序去写复杂的逻辑 起到了异步处理,
- 还有一些消息队列进行日志处理
- 本文中的rocketMQ 在topic 下面还可以定义Tag 更细化了
这篇文章讲的是rocketMQ,下面直接上代码
1.jar包引入
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>ons-client</artifactId>
<version>1.7.8.Final</version>
</dependency>
2.yml 配置
aliyun :
AccessKeyID : yourKEYID
AccessKeySecret : yourSecret
Cid : CID
Pid : PID
topic : topic
3.config配置
@Component
public class RocketMqConfig {
@Value("${aliyun.AccessKeyID}")
private String accessKeyID;
@Value("${aliyun.AccessKeySecret}")
private String accessKeySecret;
@Value("${aliyun.Cid}")
private String cid;
@Value("${aliyun.Pid}")
private String pid;
@Value("${aliyun.topic}")
private String topic;
@Autowired
private RocketMqListener myListener;
@Bean(name="consumerBean",initMethod="start",destroyMethod="shutdown")
public ConsumerBean createConsumerBean() {
ConsumerBean consumerBean=new ConsumerBean();
Properties properties=new Properties();
properties.setProperty("ConsumerId", cid);
properties.setProperty("AccessKey", accessKeyID);
properties.setProperty("SecretKey", accessKeySecret);
//线程数
properties.setProperty("Co