From 816a1a67e325284725ca48da9d6c8194c57237fa Mon Sep 17 00:00:00 2001 From: nsc32 Date: Mon, 6 Nov 2017 15:52:13 +0800 Subject: [PATCH 1/2] no commit message --- springboot-actviemq/pom.xml | 43 +++++++++++++++++++ .../org/spring/springboot/Application.java | 21 +++++++++ .../controller/MessageController.java | 29 +++++++++++++ .../spring/springboot/jms/ActiveMQConfig.java | 29 +++++++++++++ .../spring/springboot/jms/JMSConsumer.java | 22 ++++++++++ .../spring/springboot/jms/JMSProducer.java | 32 ++++++++++++++ .../src/main/resources/application.properties | 9 ++++ 7 files changed, 185 insertions(+) create mode 100644 springboot-actviemq/pom.xml create mode 100644 springboot-actviemq/src/main/java/org/spring/springboot/Application.java create mode 100644 springboot-actviemq/src/main/java/org/spring/springboot/controller/MessageController.java create mode 100644 springboot-actviemq/src/main/java/org/spring/springboot/jms/ActiveMQConfig.java create mode 100644 springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSConsumer.java create mode 100644 springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSProducer.java create mode 100644 springboot-actviemq/src/main/resources/application.properties diff --git a/springboot-actviemq/pom.xml b/springboot-actviemq/pom.xml new file mode 100644 index 0000000..0562c43 --- /dev/null +++ b/springboot-actviemq/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + springboot + springboot-activemq + 0.0.1-SNAPSHOT + springboot-activemq :: ActiveMQ Demo + + + + org.springframework.boot + spring-boot-starter-parent + 1.5.1.RELEASE + + + + + org.springframework.boot + spring-boot-starter-activemq + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-web + RELEASE + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/springboot-actviemq/src/main/java/org/spring/springboot/Application.java b/springboot-actviemq/src/main/java/org/spring/springboot/Application.java new file mode 100644 index 0000000..fc986fa --- /dev/null +++ b/springboot-actviemq/src/main/java/org/spring/springboot/Application.java @@ -0,0 +1,21 @@ +package org.spring.springboot; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * Spring Boot 应用启动类 + * + * Created by bysocket on 16/4/26. + */ + +// Spring Boot 应用的标识 +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + // 程序启动入口 + // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件 + SpringApplication.run(Application.class,args); + } +} diff --git a/springboot-actviemq/src/main/java/org/spring/springboot/controller/MessageController.java b/springboot-actviemq/src/main/java/org/spring/springboot/controller/MessageController.java new file mode 100644 index 0000000..18ee0ee --- /dev/null +++ b/springboot-actviemq/src/main/java/org/spring/springboot/controller/MessageController.java @@ -0,0 +1,29 @@ +package org.spring.springboot.controller; + +import org.spring.springboot.jms.JMSProducer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Created by NSC on 2017/11/6. + * Never give up + */ + +@RestController +public class MessageController { + + @Autowired + private JMSProducer jmsProducer; + + @RequestMapping("tomq") + public void toMqMessage(String message){ + + if(message == null || message.length() == 0) + return ; + + System.err.println("消息:" + message); + jmsProducer.sendMessageToOneMq("this is first one mq of :" + message); + jmsProducer.sendMessageToTwoMq("this is second two mq of :" + message); + } +} diff --git a/springboot-actviemq/src/main/java/org/spring/springboot/jms/ActiveMQConfig.java b/springboot-actviemq/src/main/java/org/spring/springboot/jms/ActiveMQConfig.java new file mode 100644 index 0000000..8554b38 --- /dev/null +++ b/springboot-actviemq/src/main/java/org/spring/springboot/jms/ActiveMQConfig.java @@ -0,0 +1,29 @@ +package org.spring.springboot.jms; + +import org.apache.activemq.command.ActiveMQQueue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.jms.Queue; + +/** + * Created by NSC on 2017/11/6. + * Never give up + */ +@Configuration +public class ActiveMQConfig { + + public static final String ACTIVEMQ_QUEUE_ONE = "activemq_queue_one"; + + public static final String ACTIVEMQ_QUEUE_TWO = "activemq_queue_two"; + + @Bean + public Queue oneQueue(){ + return new ActiveMQQueue(ACTIVEMQ_QUEUE_ONE); + } + + @Bean + public Queue twoQueue(){ + return new ActiveMQQueue(ACTIVEMQ_QUEUE_TWO); + } +} diff --git a/springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSConsumer.java b/springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSConsumer.java new file mode 100644 index 0000000..ae0d27b --- /dev/null +++ b/springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSConsumer.java @@ -0,0 +1,22 @@ +package org.spring.springboot.jms; + +import org.springframework.jms.annotation.JmsListener; +import org.springframework.jms.annotation.JmsListeners; +import org.springframework.stereotype.Component; + +/** + * Created by NSC on 2017/11/6. + * Never give up + */ + +@Component +public class JMSConsumer { + + @JmsListeners({ + @JmsListener(destination = ActiveMQConfig.ACTIVEMQ_QUEUE_ONE), + @JmsListener(destination = ActiveMQConfig.ACTIVEMQ_QUEUE_TWO) + }) + private void listenMqQueue(String message){ + System.err.println("消费信息:" + message); + } +} diff --git a/springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSProducer.java b/springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSProducer.java new file mode 100644 index 0000000..d18f7ba --- /dev/null +++ b/springboot-actviemq/src/main/java/org/spring/springboot/jms/JMSProducer.java @@ -0,0 +1,32 @@ +package org.spring.springboot.jms; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jms.core.JmsTemplate; +import org.springframework.stereotype.Component; + +import javax.jms.Queue; + +/** + * Created by NSC on 2017/11/6. + * Never give up + */ +@Component +public class JMSProducer { + + @Autowired + private JmsTemplate jmsTemplate; + + @Autowired + private Queue oneQueue; + + @Autowired + private Queue twoQueue; + + public void sendMessageToOneMq(String message){ + jmsTemplate.convertAndSend(oneQueue,message); + } + + public void sendMessageToTwoMq(String message){ + jmsTemplate.convertAndSend(twoQueue,message); + } +} diff --git a/springboot-actviemq/src/main/resources/application.properties b/springboot-actviemq/src/main/resources/application.properties new file mode 100644 index 0000000..fea2b2f --- /dev/null +++ b/springboot-actviemq/src/main/resources/application.properties @@ -0,0 +1,9 @@ + + +#tomcat ˿ +server.port=8081 + +spring.activemq.broker-url=tcp://127.0.0.1:61616 +spring.activemq.password=xxx +spring.activemq.user=xxx + -- Gitee From 15e4a58a53fa32002c6eb877ad6d870983e11f2e Mon Sep 17 00:00:00 2001 From: nsc32 Date: Mon, 6 Nov 2017 15:53:43 +0800 Subject: [PATCH 2/2] =?UTF-8?q?springboot-activemq=20=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- springboot-actviemq/src/main/resources/application.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/springboot-actviemq/src/main/resources/application.properties b/springboot-actviemq/src/main/resources/application.properties index fea2b2f..8f44247 100644 --- a/springboot-actviemq/src/main/resources/application.properties +++ b/springboot-actviemq/src/main/resources/application.properties @@ -7,3 +7,5 @@ spring.activemq.broker-url=tcp://127.0.0.1:61616 spring.activemq.password=xxx spring.activemq.user=xxx + + -- Gitee