diff --git a/springboot-actviemq/pom.xml b/springboot-actviemq/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..0562c4332329aa97758df7e8c1cdfa436e601960 --- /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 0000000000000000000000000000000000000000..fc986fa40ab5cf2abedc36ebf35752f8403abf23 --- /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 0000000000000000000000000000000000000000..18ee0ee689a0db5001f2b4d0418150ddeba186c0 --- /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 0000000000000000000000000000000000000000..8554b38a8014e992c73d52dfb14985bd43e4dc30 --- /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 0000000000000000000000000000000000000000..ae0d27b90582d81859081226d6c5e10a731fecd5 --- /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 0000000000000000000000000000000000000000..d18f7baa20149da5f182753eba9c831e66e5ddd6 --- /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 0000000000000000000000000000000000000000..8f442479e1a37a9ee5a8c76d93d67912865397f9 --- /dev/null +++ b/springboot-actviemq/src/main/resources/application.properties @@ -0,0 +1,11 @@ + + +#tomcat ˿ +server.port=8081 + +spring.activemq.broker-url=tcp://127.0.0.1:61616 +spring.activemq.password=xxx +spring.activemq.user=xxx + + +