결과 데이터 로그 테이블로 이동 기능 추가
This commit is contained in:
parent
50cccb9bdc
commit
2477085a37
@ -1,6 +1,7 @@
|
||||
package com.munjaon.client.config;
|
||||
|
||||
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.ReportClientService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -119,4 +120,17 @@ public class RunnerConfiguration {
|
||||
}
|
||||
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.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -49,4 +50,17 @@ public class MariaDBService {
|
||||
public int deleteFromDeliver(String 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() {
|
||||
|
||||
try {
|
||||
while (true) {
|
||||
while (isRun()) {
|
||||
headBuffer.clear();
|
||||
int recvCount = socketChannel.read(headBuffer);
|
||||
// saveSystemLog("recvCount : " + recvCount);
|
||||
|
||||
@ -57,6 +57,12 @@ public enum DatabaseTypeWorker {
|
||||
MariaDBService mariaDBService = (MariaDBService) DatabaseService.MARIADB_SERVICE.getService();
|
||||
return mariaDBService.deleteFromDeliver(msgId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveToDeliver() {
|
||||
MariaDBService mariaDBService = (MariaDBService) DatabaseService.MARIADB_SERVICE.getService();
|
||||
mariaDBService.moveToDeliver();
|
||||
}
|
||||
},
|
||||
TYPE_OF_MYSQL("MYSQL") {
|
||||
@Override
|
||||
@ -98,6 +104,11 @@ public enum DatabaseTypeWorker {
|
||||
public int deleteFromDeliver(String msgId) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveToDeliver() {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
DatabaseTypeWorker(final String name) {
|
||||
@ -122,4 +133,5 @@ public enum DatabaseTypeWorker {
|
||||
public abstract List<MunjaonMsg> selectToExpire(String expireTime);
|
||||
public abstract int insertToLog(String msgId);
|
||||
public abstract int deleteFromDeliver(String msgId);
|
||||
public abstract void moveToDeliver();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user