From e43bb198637e01504a3da997751112e7e639761f Mon Sep 17 00:00:00 2001 From: linwl <304115325@qq.com> Date: Thu, 25 Feb 2021 10:21:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E6=95=B0=E7=BA=BF=E7=A8=8B=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iotgateway/listener/IotMessageListener.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/telpo/iotgateway/listener/IotMessageListener.java b/src/main/java/com/telpo/iotgateway/listener/IotMessageListener.java index e13f429..80a56f0 100644 --- a/src/main/java/com/telpo/iotgateway/listener/IotMessageListener.java +++ b/src/main/java/com/telpo/iotgateway/listener/IotMessageListener.java @@ -1,16 +1,16 @@ package com.telpo.iotgateway.listener; import com.google.common.base.Stopwatch; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.jms.Message; import javax.jms.MessageListener; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; +import javax.validation.constraints.Positive; +import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; /** @@ -36,13 +36,15 @@ public class IotMessageListener implements MessageListener { public void run() { // task to run goes here count.getAndSet(0); - System.out.println("Hello, stranger"); + log.warn("约1分钟处理 {} 个请求",count); + //System.out.println("Hello, stranger"); } }; // ScheduledExecutorService:是从Java SE5的java.util.concurrent里, // 做为并发工具类被引进的,这是最理想的定时任务实现方式。 - ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); + ScheduledExecutorService service = new ScheduledThreadPoolExecutor(1, + new BasicThreadFactory.Builder().namingPattern("count-schedule-pool-%d").daemon(true).build()); // 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间 // 10:秒 5:秒 // 第一次执行的时间为10秒,然后每隔五秒执行一次