From f803f5c5a10112de2cf58e01c88081bfcce63062 Mon Sep 17 00:00:00 2001 From: jangdongsin Date: Wed, 8 Jan 2025 23:58:09 +0900 Subject: [PATCH] =?UTF-8?q?=ED=81=B4=EB=9D=BC=EC=9D=B4=EC=96=B8=ED=8A=B8?= =?UTF-8?q?=20IP=EC=B2=B4=ED=81=AC,=20=ED=81=90=20DB=20=EC=A0=81=EC=9E=AC?= =?UTF-8?q?=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/munjaon/server/queue/pool/QueuePool.java | 4 ++-- .../com/munjaon/server/queue/pool/ReadQueue.java | 7 +++++-- .../server/server/service/QueueServerService.java | 14 ++++++++++++-- .../server/server/task/CollectServerTask.java | 4 ++-- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/munjaon/server/queue/pool/QueuePool.java b/src/main/java/com/munjaon/server/queue/pool/QueuePool.java index 1dde300..a5d43a1 100644 --- a/src/main/java/com/munjaon/server/queue/pool/QueuePool.java +++ b/src/main/java/com/munjaon/server/queue/pool/QueuePool.java @@ -64,9 +64,9 @@ public abstract class QueuePool { public void pushQueue(BasicMessageDto data) throws Exception { synchronized(lockMonitor) { if (queuePool.isEmpty()) { - try{ + try { lockMonitor.wait(); - }catch(InterruptedException e){ + } catch (InterruptedException e) { // 아무 처리도 하지 않는다. } } diff --git a/src/main/java/com/munjaon/server/queue/pool/ReadQueue.java b/src/main/java/com/munjaon/server/queue/pool/ReadQueue.java index 5f669c2..0c9befb 100644 --- a/src/main/java/com/munjaon/server/queue/pool/ReadQueue.java +++ b/src/main/java/com/munjaon/server/queue/pool/ReadQueue.java @@ -195,13 +195,16 @@ public abstract class ReadQueue { /* Pop Counter 증가 및 저장 */ this.popCounter = this.popCounter + 1; writePopCounter(); - - } return messageDto; } + public void resetPopCounter(int resetCounter) throws IOException { + this.popCounter = this.popCounter - resetCounter; + writePopCounter(); + } + abstract void popBuffer() throws Exception; abstract void getBytesForExtendMessage(BasicMessageDto messageDto) throws UnsupportedEncodingException; abstract void initDataBuffer(); diff --git a/src/main/java/com/munjaon/server/server/service/QueueServerService.java b/src/main/java/com/munjaon/server/server/service/QueueServerService.java index 1618c73..b1c53c8 100644 --- a/src/main/java/com/munjaon/server/server/service/QueueServerService.java +++ b/src/main/java/com/munjaon/server/server/service/QueueServerService.java @@ -213,8 +213,18 @@ public class QueueServerService extends Service { // DB 처리한 카운트에 대한 처리 if (DB_PROC_COUNT > 0) { - worker.saveMessageForList(list); - Thread.sleep(10); + boolean isError = false; + try { + worker.saveMessageForList(list); + Thread.sleep(10); + } catch (Exception e) { + saveLog(e); + isError = true; + } + /* DB 적재 실패시 처리 */ + if (isError) { + readQueue.resetPopCounter(DB_PROC_COUNT); + } } else { Thread.sleep(100); } diff --git a/src/main/java/com/munjaon/server/server/task/CollectServerTask.java b/src/main/java/com/munjaon/server/server/task/CollectServerTask.java index c6218e3..cd9f020 100644 --- a/src/main/java/com/munjaon/server/server/task/CollectServerTask.java +++ b/src/main/java/com/munjaon/server/server/task/CollectServerTask.java @@ -756,10 +756,10 @@ public class CollectServerTask extends Thread { saveLog(printTaskLog() + "[REMOTE IP : " + connectUserDto.getRemoteIP() + "]"); saveLog(printTaskLog() + "[ALLOW IP BASIC : " + memberDto.getAllowIpBasic() + "]"); saveLog(printTaskLog() + "[ALLOW IP EXTEND : " + memberDto.getAllowIpExtend() + "]"); - if (memberDto.getAllowIpBasic() != null && connectUserDto.getRemoteIP().equals(memberDto.getAllowIpBasic())) { + if (memberDto.getAllowIpBasic() != null && connectUserDto.getRemoteIP().indexOf(memberDto.getAllowIpBasic()) >= 0) { isPermit = true; } - if (memberDto.getAllowIpExtend() != null && connectUserDto.getRemoteIP().equals(memberDto.getAllowIpExtend())) { + if (memberDto.getAllowIpExtend() != null && connectUserDto.getRemoteIP().indexOf(memberDto.getAllowIpExtend()) >= 0) { isPermit = true; } } else {