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 {