generated from GSM-MSG/MSG-Repository-Generator
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #12 from GSM-MSG/11-feature/batch-configuration
Batch Application, SQL 세팅
- Loading branch information
Showing
6 changed files
with
149 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 16 additions & 0 deletions
16
bitgouel-batch/src/main/kotlin/team/msg/BatchApplication.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package team.msg | ||
|
||
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing | ||
import org.springframework.boot.SpringApplication | ||
import org.springframework.boot.autoconfigure.SpringBootApplication | ||
import org.springframework.boot.runApplication | ||
import kotlin.system.exitProcess | ||
|
||
@SpringBootApplication | ||
@EnableBatchProcessing | ||
class BatchApplication | ||
|
||
fun main(args: Array<String>) { | ||
val applicationContext = runApplication<BatchApplication>(*args) | ||
exitProcess(SpringApplication.exit(applicationContext)) // 배치 완료 후 바로 process 종료 | ||
} |
7 changes: 7 additions & 0 deletions
7
bitgouel-batch/src/main/kotlin/team/msg/common/BaseJobParameter.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package team.msg.common | ||
|
||
/** | ||
* 개발/QA 도중에 같은 Job 파라미터 값으로 배치 실행이 가능하도록 version을 지정합니다. | ||
* version은 1부터 시작합니다. | ||
*/ | ||
open class BaseJobParameter(val version: Int) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
spring: | ||
datasource: | ||
hikari: | ||
jdbc-url: jdbc:mysql://${DB_URL:localhost:3306}/${DB_NAME:bitgouel}?useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true | ||
username: ${DB_USER:bitgouel-admin} | ||
password: ${DB_PASSWORD:Esperer123!} | ||
driver-class-name: com.mysql.cj.jdbc.Driver | ||
|
||
batch: | ||
job: | ||
enabled: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
-- Autogenerated: do not edit this file | ||
|
||
CREATE TABLE BATCH_JOB_INSTANCE ( | ||
JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY , | ||
VERSION BIGINT , | ||
JOB_NAME VARCHAR(100) NOT NULL, | ||
JOB_KEY VARCHAR(32) NOT NULL, | ||
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE BATCH_JOB_EXECUTION ( | ||
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , | ||
VERSION BIGINT , | ||
JOB_INSTANCE_ID BIGINT NOT NULL, | ||
CREATE_TIME DATETIME(6) NOT NULL, | ||
START_TIME DATETIME(6) DEFAULT NULL , | ||
END_TIME DATETIME(6) DEFAULT NULL , | ||
STATUS VARCHAR(10) , | ||
EXIT_CODE VARCHAR(2500) , | ||
EXIT_MESSAGE VARCHAR(2500) , | ||
LAST_UPDATED DATETIME(6), | ||
JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL, | ||
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID) | ||
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS ( | ||
JOB_EXECUTION_ID BIGINT NOT NULL , | ||
TYPE_CD VARCHAR(6) NOT NULL , | ||
KEY_NAME VARCHAR(100) NOT NULL , | ||
STRING_VAL VARCHAR(250) , | ||
DATE_VAL DATETIME(6) DEFAULT NULL , | ||
LONG_VAL BIGINT , | ||
DOUBLE_VAL DOUBLE PRECISION , | ||
IDENTIFYING CHAR(1) NOT NULL , | ||
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID) | ||
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE BATCH_STEP_EXECUTION ( | ||
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , | ||
VERSION BIGINT NOT NULL, | ||
STEP_NAME VARCHAR(100) NOT NULL, | ||
JOB_EXECUTION_ID BIGINT NOT NULL, | ||
START_TIME DATETIME(6) NOT NULL , | ||
END_TIME DATETIME(6) DEFAULT NULL , | ||
STATUS VARCHAR(10) , | ||
COMMIT_COUNT BIGINT , | ||
READ_COUNT BIGINT , | ||
FILTER_COUNT BIGINT , | ||
WRITE_COUNT BIGINT , | ||
READ_SKIP_COUNT BIGINT , | ||
WRITE_SKIP_COUNT BIGINT , | ||
PROCESS_SKIP_COUNT BIGINT , | ||
ROLLBACK_COUNT BIGINT , | ||
EXIT_CODE VARCHAR(2500) , | ||
EXIT_MESSAGE VARCHAR(2500) , | ||
LAST_UPDATED DATETIME(6), | ||
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID) | ||
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( | ||
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, | ||
SHORT_CONTEXT VARCHAR(2500) NOT NULL, | ||
SERIALIZED_CONTEXT TEXT , | ||
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID) | ||
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT ( | ||
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, | ||
SHORT_CONTEXT VARCHAR(2500) NOT NULL, | ||
SERIALIZED_CONTEXT TEXT , | ||
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID) | ||
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE BATCH_STEP_EXECUTION_SEQ ( | ||
ID BIGINT NOT NULL, | ||
UNIQUE_KEY CHAR(1) NOT NULL, | ||
constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) | ||
) ENGINE=InnoDB; | ||
|
||
INSERT INTO BATCH_STEP_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_STEP_EXECUTION_SEQ); | ||
|
||
CREATE TABLE BATCH_JOB_EXECUTION_SEQ ( | ||
ID BIGINT NOT NULL, | ||
UNIQUE_KEY CHAR(1) NOT NULL, | ||
constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) | ||
) ENGINE=InnoDB; | ||
|
||
INSERT INTO BATCH_JOB_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_EXECUTION_SEQ); | ||
|
||
CREATE TABLE BATCH_JOB_SEQ ( | ||
ID BIGINT NOT NULL, | ||
UNIQUE_KEY CHAR(1) NOT NULL, | ||
constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) | ||
) ENGINE=InnoDB; | ||
|
||
INSERT INTO BATCH_JOB_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_SEQ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package common | ||
|
||
import org.slf4j.LoggerFactory | ||
import java.util.logging.Logger | ||
|
||
class LoggerDelegator { | ||
private var logger: Logger? = null | ||
operator fun getValue(thisRef: Any?, property: Any?) = logger ?: LoggerFactory.getLogger(thisRef?.javaClass)!! | ||
} |