결과 데이터 로그 테이블로 이동 기능 추가
This commit is contained in:
parent
50cccb9bdc
commit
2477085a37
@ -1,6 +1,7 @@
|
|||||||
package com.munjaon.client.config;
|
package com.munjaon.client.config;
|
||||||
|
|
||||||
import com.munjaon.client.server.service.CollectClientService;
|
import com.munjaon.client.server.service.CollectClientService;
|
||||||
|
import com.munjaon.client.server.service.DataMoveService;
|
||||||
import com.munjaon.client.server.service.PropertyLoader;
|
import com.munjaon.client.server.service.PropertyLoader;
|
||||||
import com.munjaon.client.server.service.ReportClientService;
|
import com.munjaon.client.server.service.ReportClientService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -119,4 +120,17 @@ public class RunnerConfiguration {
|
|||||||
}
|
}
|
||||||
return args -> System.out.println("Runner Bean #2");
|
return args -> System.out.println("Runner Bean #2");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@Order(3)
|
||||||
|
public CommandLineRunner getRunnerBeanForMove() {
|
||||||
|
try {
|
||||||
|
String serviceName = "LOG_MOVE";
|
||||||
|
DataMoveService dataMoveService = new DataMoveService(serviceName);
|
||||||
|
dataMoveService.start();
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
return args -> System.out.println("Runner Bean #2");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.munjaon.client.model.MunjaonMsg;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -49,4 +50,17 @@ public class MariaDBService {
|
|||||||
public int deleteFromDeliver(String msgId) {
|
public int deleteFromDeliver(String msgId) {
|
||||||
return mariaDBMapper.deleteFromDeliver(msgId);
|
return mariaDBMapper.deleteFromDeliver(msgId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public void moveToDeliver() {
|
||||||
|
List<MunjaonMsg> list = selectToMove();
|
||||||
|
if (list == null || list.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
log.debug("[CLASS : {} : MOVE_COUNT : {}", this.getClass(), list.size());
|
||||||
|
for (MunjaonMsg msg : list) {
|
||||||
|
insertToLog(msg.getMsgId());
|
||||||
|
deleteFromDeliver(msg.getMsgId());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,62 @@
|
|||||||
|
package com.munjaon.client.server.service;
|
||||||
|
|
||||||
|
import com.munjaon.client.service.DatabaseTypeWorker;
|
||||||
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
public class DataMoveService extends Service {
|
||||||
|
private DatabaseTypeWorker worker;
|
||||||
|
|
||||||
|
public DataMoveService(String serviceName) {
|
||||||
|
super(serviceName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkReady() {
|
||||||
|
worker = DatabaseTypeWorker.find(System.getProperty("DBMS"));
|
||||||
|
if (worker == null) {
|
||||||
|
saveSystemLog("[checkReady][DBMS : " + System.getProperty("DBMS") + " is not ready]");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
saveSystemLog("[checkReady][DBMS : " + System.getProperty("DBMS") + " is ready]");
|
||||||
|
this.IS_READY_YN = worker.checkTableExists();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initResources() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void releaseResources() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doService() {
|
||||||
|
while (isRun()) {
|
||||||
|
try {
|
||||||
|
messageService();
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void messageService() {
|
||||||
|
try {
|
||||||
|
while (isRun()) {
|
||||||
|
worker.moveToDeliver();
|
||||||
|
Thread.sleep(3000L);
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public JSONObject monitorService() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -120,7 +120,7 @@ public class ReportClientService extends Service {
|
|||||||
private void messageService() {
|
private void messageService() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
while (true) {
|
while (isRun()) {
|
||||||
headBuffer.clear();
|
headBuffer.clear();
|
||||||
int recvCount = socketChannel.read(headBuffer);
|
int recvCount = socketChannel.read(headBuffer);
|
||||||
// saveSystemLog("recvCount : " + recvCount);
|
// saveSystemLog("recvCount : " + recvCount);
|
||||||
|
|||||||
@ -57,6 +57,12 @@ public enum DatabaseTypeWorker {
|
|||||||
MariaDBService mariaDBService = (MariaDBService) DatabaseService.MARIADB_SERVICE.getService();
|
MariaDBService mariaDBService = (MariaDBService) DatabaseService.MARIADB_SERVICE.getService();
|
||||||
return mariaDBService.deleteFromDeliver(msgId);
|
return mariaDBService.deleteFromDeliver(msgId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void moveToDeliver() {
|
||||||
|
MariaDBService mariaDBService = (MariaDBService) DatabaseService.MARIADB_SERVICE.getService();
|
||||||
|
mariaDBService.moveToDeliver();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
TYPE_OF_MYSQL("MYSQL") {
|
TYPE_OF_MYSQL("MYSQL") {
|
||||||
@Override
|
@Override
|
||||||
@ -98,6 +104,11 @@ public enum DatabaseTypeWorker {
|
|||||||
public int deleteFromDeliver(String msgId) {
|
public int deleteFromDeliver(String msgId) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void moveToDeliver() {
|
||||||
|
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
DatabaseTypeWorker(final String name) {
|
DatabaseTypeWorker(final String name) {
|
||||||
@ -122,4 +133,5 @@ public enum DatabaseTypeWorker {
|
|||||||
public abstract List<MunjaonMsg> selectToExpire(String expireTime);
|
public abstract List<MunjaonMsg> selectToExpire(String expireTime);
|
||||||
public abstract int insertToLog(String msgId);
|
public abstract int insertToLog(String msgId);
|
||||||
public abstract int deleteFromDeliver(String msgId);
|
public abstract int deleteFromDeliver(String msgId);
|
||||||
|
public abstract void moveToDeliver();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user