From b2edec92b2d421a5ab06c4bbbf2318d6915b2154 Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Wed, 28 Nov 2012 10:28:26 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20testweb=EC=9D=98=20aucusclient=20=EB=A5=BC=20dispose?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-server/trunk@946 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../receiver/udp/MultiplexedUDPReceiver.java | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/profiler/server/receiver/udp/MultiplexedUDPReceiver.java b/src/main/java/com/profiler/server/receiver/udp/MultiplexedUDPReceiver.java index cb43dfbe6..029e2770e 100644 --- a/src/main/java/com/profiler/server/receiver/udp/MultiplexedUDPReceiver.java +++ b/src/main/java/com/profiler/server/receiver/udp/MultiplexedUDPReceiver.java @@ -5,10 +5,7 @@ import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; import java.net.SocketTimeoutException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.RejectedExecutionException; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; import com.profiler.server.config.TomcatProfilerReceiverConfig; @@ -18,17 +15,17 @@ import org.springframework.context.support.GenericApplicationContext; public class MultiplexedUDPReceiver implements DataReceiver { - private static final int AcceptedSize = 65507; + private static final int AcceptedSize = 65507; - private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); - private final ExecutorService worker = Executors.newFixedThreadPool(1024); + private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); + private final ThreadPoolExecutor worker = (ThreadPoolExecutor) Executors.newFixedThreadPool(512); - private DatagramSocket socket = null; + private DatagramSocket socket = null; private GenericApplicationContext context; private MultiplexedPacketHandler multiplexedPacketHandler; - long rejectedExecutionCount = 0; + long rejectedExecutionCount = 0; private AtomicBoolean state = new AtomicBoolean(true); @@ -39,13 +36,13 @@ public class MultiplexedUDPReceiver implements DataReceiver { } private Thread ioThread = new Thread(MultiplexedUDPReceiver.class.getSimpleName()) { - @Override - public void run() { - receive(); - } - }; + @Override + public void run() { + receive(); + } + }; - public void receive() { + public void receive() { if (logger.isInfoEnabled()) { logger.info("Waiting for " + MultiplexedUDPReceiver.class.getSimpleName()); } @@ -74,7 +71,9 @@ public class MultiplexedUDPReceiver implements DataReceiver { } continue; } - + if (logger.isDebugEnabled()) { + logger.debug("pool getActiveCount:{}", worker.getActiveCount()); + } try { worker.execute(new DispatchPacket(packet)); } catch (RejectedExecutionException ree) { @@ -85,7 +84,7 @@ public class MultiplexedUDPReceiver implements DataReceiver { } } } - } + } private DatagramSocket createSocket() { try { @@ -98,18 +97,18 @@ public class MultiplexedUDPReceiver implements DataReceiver { } @Override - public void start() { + public void start() { if (socket != null) { this.ioThread.start(); logger.info("UDP Packet reader started."); } else { throw new RuntimeException("socket create fail"); } - } + } - @Override - public void shutdown() { - logger.info("Shutting down UDP Packet reader."); + @Override + public void shutdown() { + logger.info("Shutting down UDP Packet reader."); state.set(false); // 그냥 닫으면 되는건지? socket.close(); @@ -120,7 +119,7 @@ public class MultiplexedUDPReceiver implements DataReceiver { Thread.currentThread().interrupt(); } - } + } private class DispatchPacket implements Runnable {