增加消息队列

This commit is contained in:
lake
2020-12-21 11:53:21 +08:00
parent bfd33f2412
commit 5aa96a713b
14 changed files with 440 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi-common-mq</artifactId>
<groupId>com.ruoyi</groupId>
<version>2.3.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-producer</artifactId>
<name>ruoyi-producer</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<dependencies>
<!-- Ruoyi Common Security -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-security</artifactId>
</dependency>
<!-- SpringCloud Ailibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Ailibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringCloud Ailibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringBoot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Ruoyi rocketmq -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,18 @@
package com.ruoyi.producer;
import com.ruoyi.common.security.annotation.EnableCustomConfig;
import com.ruoyi.common.security.annotation.EnableRyFeignClients;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
@EnableCustomConfig
@EnableRyFeignClients
@SpringCloudApplication
public class ProducerApplication {
public static void main(String[] args)
{
SpringApplication.run(ProducerApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ ProducerApplication-生产者服务启动成功 ლ(´ڡ`ლ)゙ \n" );
}
}

View File

@@ -0,0 +1,26 @@
package com.ruoyi.producer.config;
import org.apache.rocketmq.acl.common.AclClientRPCHook;
import org.apache.rocketmq.acl.common.SessionCredentials;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
public class RocketMqConfig {
@Autowired
private RocketMQTemplate rocketMQTemplate;
@Bean
public RocketMQTemplate buildRocketMqTemplate(){
DefaultMQProducer defaultMQProducer= new DefaultMQProducer(getAclRPCHook());
rocketMQTemplate.setProducer(defaultMQProducer);
return rocketMQTemplate;
}
RPCHook getAclRPCHook() {
return new AclClientRPCHook(new SessionCredentials("rocketmq","12345678"));
}
}

View File

@@ -0,0 +1,6 @@
package com.ruoyi.producer.service;
public interface RocketMqDemoService {
public void sendMessage();
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.producer.service;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class RocketMqDemoServiceImpl implements RocketMqDemoService {
@Resource
private RocketMQTemplate rocketMQTemplate;
@Override
public void sendMessage() {
rocketMQTemplate.syncSend("topicB", "222");
}
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
/**
* Unit test for simple App.
*/
public class AppTest
{
/**
* Rigorous Test :-)
*/
@Test
public void shouldAnswerWithTrue()
{
assertTrue( true );
}
}