Parcourir la source

多线程发队列消息

shuzheng il y a 9 ans
Parent
commit
87c383efbd

+ 1 - 1
cms/cms-mq/src/main/java/com/zheng/cms/mq/jms/defaultQueueMessageListener.java → cms/cms-mq/src/main/java/com/zheng/cms/jms/defaultQueueMessageListener.java

@@ -1,4 +1,4 @@
-package com.zheng.cms.mq.jms;
+package com.zheng.cms.jms;
 
 
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;

+ 10 - 1
cms/cms-web/src/main/java/com/zheng/cms/controller/ActiveMQController.java

@@ -5,6 +5,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.core.JmsTemplate;
 import org.springframework.jms.core.JmsTemplate;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -28,13 +29,21 @@ public class ActiveMQController extends BaseController {
 	@Autowired
 	@Autowired
 	Destination defaultQueueDestination;
 	Destination defaultQueueDestination;
 
 
+	@Autowired
+	ThreadPoolTaskExecutor threadPoolTaskExecutor;
+
 	@RequestMapping("/send")
 	@RequestMapping("/send")
 	@ResponseBody
 	@ResponseBody
 	public Object send() {
 	public Object send() {
 		long start = System.currentTimeMillis();
 		long start = System.currentTimeMillis();
 		for (int i = 0; i < 100; i ++) {
 		for (int i = 0; i < 100; i ++) {
 			_log.info("发送消息" + (i + 1));
 			_log.info("发送消息" + (i + 1));
-			JmsUtil.sendMessage(jmsQueueTemplate, defaultQueueDestination, "消息" + (i + 1));
+			final long time = System.currentTimeMillis();
+			threadPoolTaskExecutor.execute(new Runnable() {
+				public void run() {
+					JmsUtil.sendMessage(jmsQueueTemplate, defaultQueueDestination, "消息" + time);
+				}
+			});
 		}
 		}
 		_log.info("发送消息消耗时间" + (System.currentTimeMillis() - start));
 		_log.info("发送消息消耗时间" + (System.currentTimeMillis() - start));
 		return "success";
 		return "success";