From 4b91f5fe1a51f9a506b3a71b815e3e63d48d0816 Mon Sep 17 00:00:00 2001 From: "semin.baek" Date: Thu, 27 Feb 2025 17:50:28 +0900 Subject: [PATCH] =?UTF-8?q?Listner=20=EC=9E=91=EC=97=85=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 1 + src/docs/embedded-db-initialize.sql | 13 +- .../insert-from-sam-to-defree.json | 30 ++ ...생업소행정처분현황_20240621.csv | 303 ++++++++++++++++++ ...생업소행정처분현황테이블.sql | 11 + .../agent/config/DfxAgentConfiguration.java | 5 +- .../agent/config/EmbeddedDbConfiguration.java | 50 --- .../dfx/agent/config/StartupRunner.java | 10 +- .../agent/listener/ListenerController.java | 32 ++ .../bsmlab/dfx/agent/listener/dto/AckDto.java | 13 + .../agent/listener/dto/ListenerMapper.java | 10 + .../agent/listener/dto/ReceiveMessageDto.java | 17 + .../listener/service/ListenerService.java | 35 ++ .../dfx/agent/support/ServletUtils.java | 16 + src/main/resources/application.yml | 9 +- .../resources/mapper/listener/message.xml | 12 + 16 files changed, 505 insertions(+), 62 deletions(-) create mode 100644 src/docs/message-examples/insert-from-sam-to-defree.json create mode 100644 src/docs/message-examples/부산광역시 사상구_식품위생업소행정처분현황_20240621.csv create mode 100644 src/docs/message-examples/식품위생업소행정처분현황테이블.sql delete mode 100644 src/main/java/com/bsmlab/dfx/agent/config/EmbeddedDbConfiguration.java create mode 100644 src/main/java/com/bsmlab/dfx/agent/listener/ListenerController.java create mode 100644 src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java create mode 100644 src/main/java/com/bsmlab/dfx/agent/listener/dto/ListenerMapper.java create mode 100644 src/main/java/com/bsmlab/dfx/agent/listener/dto/ReceiveMessageDto.java create mode 100644 src/main/java/com/bsmlab/dfx/agent/listener/service/ListenerService.java create mode 100644 src/main/java/com/bsmlab/dfx/agent/support/ServletUtils.java create mode 100644 src/main/resources/mapper/listener/message.xml diff --git a/build.gradle b/build.gradle index 3ce8858..7e5b800 100644 --- a/build.gradle +++ b/build.gradle @@ -29,6 +29,7 @@ dependencies { implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.4' compileOnly 'org.projectlombok:lombok' implementation 'com.h2database:h2' + runtimeOnly 'com.h2database:h2' implementation 'com.microsoft.sqlserver:mssql-jdbc' implementation 'com.mysql:mysql-connector-j' implementation 'com.oracle.database.jdbc:ojdbc11' diff --git a/src/docs/embedded-db-initialize.sql b/src/docs/embedded-db-initialize.sql index 59838e2..09a7a22 100644 --- a/src/docs/embedded-db-initialize.sql +++ b/src/docs/embedded-db-initialize.sql @@ -3,4 +3,15 @@ CREATE TABLE TB_HOST ( , HOST_NAME VARCHAR(1024) NOT NULL , HOST_TYPE VARCHAR(64) NOT NULL , PRIMARY KEY (HOST_ID) -); \ No newline at end of file +); + +CREATE TABLE TB_RECEIVE_MESSAGE ( + SENDER_HOST_ID VARCHAR(512) NOT NULL + , MESSAGE_UUID VARCHAR(36) NOT NULL + , RECEIVED_TIMESTAMP TIMESTAMP NOT NULL + , MESSAGE_TYPE VARCHAR(128) NOT NULL + , DATA CLOB + , PROCESS_STATUS VARCHAR(128) NOT NULL + , PRIMARY KEY (SENDER_HOST_ID, MESSAGE_UUID) +); + diff --git a/src/docs/message-examples/insert-from-sam-to-defree.json b/src/docs/message-examples/insert-from-sam-to-defree.json new file mode 100644 index 0000000..f404440 --- /dev/null +++ b/src/docs/message-examples/insert-from-sam-to-defree.json @@ -0,0 +1,30 @@ +{ + "sender": { + "host-id": "sam", + "timestamp": 1740643945523 + }, + "recipient": { + "host-id": "defree", + "drop-box-id": "save-violation-history" + }, + "data": [ + { + "CONFIRM_YMD": "2024-02-23", + "COMPANY_TYPE": "일반음식점", + "COMPANY_NAME": "부흥반점", + "ADDRESS": "부산광역시 사상구 사상로 46-1 (주례동)", + "VIOLATION_TITLE": "영업소폐쇄", + "VIOLATION_TYPE": "시설기준 위반", + "VIOLATION_YMD": "2024-01-05" + }, + { + "CONFIRM_YMD": "2024-02-23", + "COMPANY_TYPE": "일반음식점", + "COMPANY_NAME": "부흥반점", + "ADDRESS": "부산광역시 사상구 사상로 46-1 (주례동)", + "VIOLATION_TITLE": "영업소폐쇄", + "VIOLATION_TYPE": "시설기준 위반", + "VIOLATION_YMD": "2024-01-05" + } + ] +} diff --git a/src/docs/message-examples/부산광역시 사상구_식품위생업소행정처분현황_20240621.csv b/src/docs/message-examples/부산광역시 사상구_식품위생업소행정처분현황_20240621.csv new file mode 100644 index 0000000..d505a7a --- /dev/null +++ b/src/docs/message-examples/부산광역시 사상구_식품위생업소행정처분현황_20240621.csv @@ -0,0 +1,303 @@ +ó,,Ҹ,(θ),óи,з, +2024-02-23,Ϲ,,λ걤 46-1 (ַʵ),,ü ,2024-01-05 +2024-02-22,Ϲ,ð,λ걤 367 17 (),,ü ,2023-12-31 +2023-08-07,Ϲ,Ĵ,λ걤 531 25 (),·ΰ, ,2023-07-20 +2023-06-26,Ϲ,뿵,λ걤 779 (õ),·ΰ, ,2023-04-06 +2024-01-17,Ϲ,漺 Ÿ,λ걤 887-20 (),,ûҳҹ롤 ,2023-12-02 +2023-10-30,Ϲ,о籹,λ걤 212 6 (),¡ݺΰ, ؼ ,2023-06-21 +2024-05-07,Ϲ,,λ걤 223 40 (),·ΰ, ,2024-03-25 +2024-02-01,Ϲ,,λ걤 뵿 117 (嵿),¡ݺΰ,ûҳҹ롤 ,2023-12-25 +2023-09-18,Ϲ,ڸ,λ걤 931-1 (),·ΰ,ǰܵ ,2023-09-07 +2024-01-29,Ϲ,Ƴ,λ걤 722 (õ),,ؿǰ,2024-01-10 +2024-02-22,Ϲ,Ȳݷ,λ걤 32 (),,ü ,2024-01-03 +2024-01-25,Ϲ,Ȳ1800,λ걤 46 116 (),·ΰ,Ÿ,2024-01-08 +2024-04-23,Ϲ,,λ걤 82 (),·ΰ, ,2024-03-25 +2023-09-11,Ϲ,ҳ ߹,λ걤 뵿 76 (嵿),·ΰ, ,2023-04-06 +2024-04-11,Ϲ,߷Ÿ,λ걤 뵿 154 (嵿),·ΰ, ,2024-03-25 +2023-09-04,Ϲ,,λ걤 а 141 (嵿),·ΰ, ,2023-04-06 +2024-02-23,Ϲ,żĴ,λ걤 425 52 (),,ü ,2024-01-05 +2023-06-21,Ϲ,̴,λ걤 324 (ַʵ),·ΰ, ,2023-04-06 +2023-12-22,Ϲ,õ,λ걤 1530 20-8 (),, ԰,2023-12-07 +2023-07-03,Ϲ,õϷ,λ걤 34 (),¡ݺΰ,ؿǰ,2023-06-20 +2024-01-22,Ϲ,õϷ,λ걤 34 (),,ؿǰ,2024-01-05 +2024-03-19,Ϲ,õϷ,λ걤 34 (),·ΰ, ,2024-02-23 +2023-06-21,Ϲ,õǪ &󼧱,λ걤 ߴ366 45 (ַʵ),·ΰ, ,2023-04-06 +2024-01-19,Ϲ,õǪ &󼧱,λ걤 ߴ366 45 (ַʵ),¡ݺΰ,ǥñ ,2023-09-25 +2023-09-12,Ϲ,ѵĴ,λ걤 83-12 (嵿),·ΰ, ,2023-04-06 +2024-04-22,Ϲ,"Ѱ Ҹâ,â",λ걤 105 (ַʵ),·ΰ, ,2024-04-11 +2023-09-12,Ϲ,Ÿ,"λ걤 ַʷ 244, 16 208,209ȣ (嵿, )",·ΰ, ,2023-08-21 +2024-02-23,Ϲ,ٸ¯,λ걤 ְ 215 (ַʵ),,ü ,2024-01-05 +2024-02-22,Ϲ, Ϸ(OUI OUI GUKHARU),λ걤 27 48 (),,ü ,2024-01-03 +2024-01-04,Ϲ,׻(ũγ) ,"λ걤 60, 4~5 (, ׻ȣ)",·ΰ, ,2023-12-19 +2023-09-05,Ϲ,ٺ,λ걤 105 (ַʵ),·ΰ, ,2023-08-02 +2023-08-23,Ϲ,ֱü̾Ʊ,λ걤 ÷ 206 (õ),,ؿǰ,2023-08-08 +2023-09-14,Ϲ,,λ걤 500 4 (ַʵ),,ü ,2023-08-14 +2024-04-25,Ϲ,,λ걤 ߴ366 9 (ַʵ),,ûҳҹ롤 ,2024-03-21 +2024-01-04,Ϲ,簥 ,λ걤 233 (),·ΰ, ,2023-12-27 +2023-07-31,Ϲ,̵,λ걤 81 34 (),¡ݺΰ,ûҳҹ롤 ,2023-04-26 +2023-06-30,Ϲ,ġŲ,λ걤 8 45-15 (ַʵ),·ΰ,ǰܵ ,2023-06-21 +2023-11-14,Ϲ,,λ걤 ߴ366 42 (ַʵ),·ΰ, ,2023-08-16 +2024-06-14,Ϲ,,λ걤 ߴ366 42 (ַʵ),,ü ,2024-04-17 +2024-04-05,Ϲ,ھ,λ걤 ַʷ9 12 (ַʵ),,ûҳҹ롤 ,2023-03-31 +2024-03-27,Ϲ,Ű̺,"λ걤 ߴ306 13, 1 (ַʵ)",, ؼ ,2023-08-11 +2023-06-23,Ϲ,ϽҰ,"λ걤 934 56, 1 ()",·ΰ, ,2023-04-06 +2024-02-22,Ϲ,̳׽Ĵ,"λ걤 168 50, 1 ()",,ü ,2024-01-04 +2024-04-25,Ϲ,dz ,"λ걤 ߴ318 14, 2 (ַʵ)",,ûҳҹ롤 ,2024-01-27 +2024-02-22,Ϲ,,"λ걤 214, 3 ()",,ü ,2024-01-03 +2024-02-22,Ϲ,86,λ걤 1210-84 (),,ü ,2024-01-02 +2024-02-22,Ϲ,,"λ걤 7, ׽ö 6 6060,6062,6063,6072ȣ ()",,ü ,2024-01-04 +2023-10-19,Ϲ, ¥ «Ͱ Ѹ,λ걤 а 153 (嵿),·ΰ,ǰܵ ,2023-09-26 +2024-01-10,Ϲ,Ѷ ʹ ,λ걤 103 (),·ΰ,㰡Ű,2023-12-28 +2024-04-11,Ϲ,Ǫ,"λ걤 ַʷ9 10, 1 (ַʵ)",·ΰ, ,2024-03-25 +2023-06-13,Ϲ,,λ걤 250 51-9 (),·ΰ, ,2023-06-01 +2023-06-21,Ϲ,ϳ(),λ걤 120 (ַʵ),·ΰ, ,2023-04-06 +2024-01-25,Ϲ,̳븮,λ걤 ߴ306 7 (ַʵ),,ûҳҹ롤 ,2023-10-31 +2024-02-22,Ϲ,óġŲ ѽ,"λ걤 37 82, 1 ()",,ü ,2024-01-04 +2023-07-28,Ϲ,㱸,"λ걤 а 127, 1 (嵿)",·ΰ,ǰܵ ,2023-07-13 +2024-02-22,Ϲ,Ʈұ,"λ걤 208-1, 4 401ȣ (, Ƽ)",,ü ,2024-01-04 +2023-07-20,Ϲ, ,"λ걤 531 21, 1 ()",, ԰,2023-07-03 +2023-08-22,Ϲ,źҶ ַ,"λ걤 ߴ366 13, 1 (ַʵ)",·ΰ,ǰܵ ,2023-08-18 +2024-02-23,Ϲ,ڴġŲ ַ,"λ걤 494 19, 1 (ַʵ)",,ü ,2024-01-05 +2023-08-25,Ϲ,ȫ,"λ걤 204, 2 ()",·ΰ,ǰܵ ,2023-08-17 +2024-01-24,Ϲ,ȫ,"λ걤 204, 2 ()",¡ݺΰ,ؿǰ,2023-08-17 +2023-08-08,Ϲ,ûᰥ,"λ걤 1210 79, 1 (, GNB п)",·ΰ,㰡Ű,2023-07-21 +2024-02-22,Ϲ,Ÿ,"λ걤 úϷ 20, 1 (õ)",,ü ,2023-12-22 +2024-04-15,Ϲ,"ϳǪ, 7ġŲ","λ걤 277 45, ѽžƮ 2 428ȣ ()",·ΰ, ,2024-03-27 +2024-03-04,Ϲ,õϿռұݱ ,"λ걤 659, 1 ()",·ΰ,Ÿ,2024-02-02 +2023-06-05,Ϲ, ,"λ걤 105 12, 1 ()",·ΰ, ,2023-04-06 +2024-02-22,Ϲ,,"λ걤 а 266-1, 1 ()",,ü ,2024-01-02 +2024-03-28,Ϲ,Ŀ,"λ걤 뵿 76, 幫оƮ 󰡵 1 120, 121ȣ (嵿)",·ΰ, ,2024-03-25 +2023-09-25,Ϲ,½(),"λ걤 276-1, 1 ()",·ΰ,ǰܵ ,2023-09-14 +2023-07-14,Ϲ,ٽ,"λ걤 86, 1 ()",·ΰ, ,2023-06-28 +2024-02-22,Ϲ,ξǪ,"λ걤 46 9, 1 ()",,ü ,2024-01-04 +2023-06-21,Ϲ,,"λ걤 468-1, 1 ()",·ΰ, ,2023-04-06 +2024-05-07,Ϲ, ,"λ걤 86 12, 101ȣ (, 뼺ij)",·ΰ, ,2024-03-25 +2024-02-22,Ϲ,ҶҶۼ,"λ걤 7, װ 6 6008ȣ ()",,ü ,2024-01-04 +2024-02-22,Ϲ,ҶҶۼ,"λ걤 7, ׽ö 6052ȣ ()",,ü ,2024-01-04 +2024-05-21,Ϲ,ġн,"λ걤 89 16, 1 ()",·ΰ,ǰܵ ,2024-05-13 +2023-10-04,Ϲ,«0927 ַ,"λ걤 ַʷ27 23, 1 (ַʵ)",,ü ,2023-08-31 +2023-10-04,Ϲ,«0927 ַ,"λ걤 ַʷ27 23, 1 (ַʵ)",, ؼ ,2023-08-31 +2024-02-22,Ϲ,Ҹ ſ 1ȣ,"λ걤 192, A 2 ()",,ü ,2024-01-04 +2023-12-22,Ϲ,ֿž ,"λ걤 223 40, A 1 ()",·ΰ,ǰܵ ,2023-12-07 +2023-11-30,Ϲ,߱,"λ걤 481 28, 1 ()",,ؿǰ,2023-11-08 +2023-07-20,Ϲ,,"λ걤 284, 2 ()",¡ݺΰ, ؼ ,2023-05-08 +2024-03-22,Ϲ,1991 BEER LOUNGE(),"λ걤 79, 5 ()",¡ݺΰ,ûҳҹ롤 ,2024-01-13 +2023-10-25,Ϲ,ť λ,"λ걤 310 7, 1 ()",·ΰ,ü ,2023-10-17 +2024-04-11,Ϲ, ,"λ걤 ַʷ 74, 1 (ַʵ)",·ΰ,㰡Ű,2024-04-04 +2024-04-23,,纸,λ걤 81 50 (),·ΰ, ,2024-03-25 +2024-05-21,,ôº̽뷡,λ걤 81 34 (),·ΰ,ǰܵ ,2024-05-01 +2024-04-23,,ڿ,λ걤 232-5 (),·ΰ, ,2024-03-25 +2023-12-20,,뷡,λ걤 93 11 (),·ΰ, ؼ ,2023-12-01 +2024-04-23,,λ׳뷡,λ걤 81 47 (),·ΰ, ,2024-03-25 +2024-04-23,,༺,λ걤 81 37 (),·ΰ, ,2024-03-25 +2024-04-23,,,λ걤 211 (),·ΰ, ,2024-03-25 +2024-04-23,,,λ걤 81 9 (),·ΰ, ,2024-03-25 +2023-08-07,ܶ,S.B.S,λ걤 ߴ 372 (ַʵ),, ؼ ,2023-05-27 +2023-06-07,ܶ,2,λ걤 181 82 (),·ΰ, ,2023-04-06 +2024-04-23,ܶ,2,λ걤 181 82 (),·ΰ, ,2024-03-25 +2024-04-11,ܶ,ܶ,λ걤 972 (),·ΰ, ,2024-03-25 +2023-06-12,ܶ,ġ뷡,λ걤 196 (),·ΰ, ,2023-06-01 +2024-03-22,ܶ,,λ걤 97 (),, ؼ ,2023-08-24 +2024-04-23,ܶ,,λ걤 81 49 (),·ΰ, ,2024-03-25 +2024-04-23,ܶ,뷡Ÿ ,"λ걤 93 21, 2 ()",·ΰ, ,2024-03-25 +2024-04-23,ܶ,Ϲ,"λ걤 85, 2 ()",·ΰ, ,2024-03-25 +2024-01-08,ް,ĿǼ,λ걤 531 7 (),,󿵾,2023-09-15 +2024-01-29,ް,δٹ,"λ걤 291, 1 ()",¡ݺΰ, ؼ ,2023-12-30 +2023-07-20,ް,밡,λ걤 46 4 (ַʵ),,ü ,2023-05-26 +2023-06-21,ް,,λ걤 476 (),·ΰ, ,2023-04-06 +2024-04-08,ް,ȣĿǼ,λ걤 338 (),·ΰ, ,2024-03-25 +2023-08-30,ް,¾ĿǼ,λ걤 243 (),·ΰ,ǰܵ ,2023-08-24 +2024-02-19,ް,¾ĿǼ,λ걤 243 (),¡ݺΰ, ؼ ,2024-02-11 +2024-04-15,ް,,"λ걤 309, 1 ()",·ΰ,ǰܵ ,2024-04-04 +2023-09-20,ް,轺Ų λ,"λ걤 208, 1 ()",,ؿǰ,2023-08-31 +2023-06-21,ް,Ŀǰ,"λ걤 907 55, 1 ()",·ΰ, ,2023-04-06 +2024-04-03,ް,ڷĿ,"λ걤 ַʷ 45, 50ֳ 35 1 (ַʵ)",·ΰ, ,2024-03-25 +2023-06-21,ް,ްĿ ,"λ걤 ߴ 358, 1 (ַʵ)",·ΰ, ,2023-04-06 +2023-06-26,ް,Ŀ ,"λ걤 754, 1 (õ)",·ΰ, ,2023-04-06 +2023-06-21,ް,󶼰,"λ걤 ߴ 367, 1 (ַʵ)",·ΰ, ,2023-04-06 +2023-06-07,ް, ,"λ걤 201, νÿܹ͹̳ ()",·ΰ, ,2023-04-06 +2024-01-05,ް,Ե()ԵƮ,"λ걤 733, ԵƮ (õ)",, ԰,2023-09-07 +2023-06-21,ް,Ƿ Ǿ(PC),"λ걤 ַʷ 62, 2 (ַʵ)",·ΰ, ,2023-04-06 +2024-04-18,ް,ȭ,"λ걤 309, 1 ()",·ΰ, ,2024-03-26 +2024-06-13,ް,ڽŸǾ,"λ걤 887, 󵿿Ÿ 1 ()",,ü ,2024-04-12 +2024-04-02,ް,δ,"λ걤 ַʷ 45, 泲б ̷ 1 (ַʵ)",·ΰ, ,2024-03-25 +2024-04-23,ް,,"λ걤 133, 1 ()",·ΰ, ,2024-03-25 +2023-06-21,ް,ī ȭ,"λ걤 504, 1 103ȣ ()",·ΰ, ,2023-04-06 +2023-06-21,ް,ƮƮϽ,"λ걤 987, ij 11 ()",·ΰ, ,2023-04-06 +2023-06-21,ް,ιǾ ,"λ걤 ߴ366 10, 2 (ַʵ)",·ΰ, ,2023-04-06 +2023-06-26,ް,ŭ,"λ걤 277 21, 1 ()",·ΰ, ,2023-04-06 +2023-06-21,ް,Ƽ ַʿ,"λ걤 ߴ 282, 1 (ַʵ)",·ΰ, ,2023-04-06 +2024-06-14,ް,̼PC ,"λ걤 204, 3 ()",,ü ,2024-04-04 +2023-06-21,ް,,"λ걤 ַʷ 47, б к(D) 3 (ַʵ)",·ΰ, ,2023-04-06 +2023-09-12,ް,ϻﵿĿ ,"λ걤 а 107, 1 104ȣ (嵿)",·ΰ, ,2023-04-06 +2023-06-21,ް,Ŀ,"λ걤 ߴ366 79, 1 (ַʵ)",·ΰ, ,2023-04-06 +2023-06-21,ް,ϻﵿĿ ְ,"λ걤 494 12, 107 101ȣ (ַʵ)",·ΰ, ,2023-04-06 +2024-04-23,ް,ĭ ,"λ걤 224, 1 101ȣ ()",·ΰ, ,2024-03-25 +2024-05-07,ް,̽ ,"λ걤 148 39, Ͽ콺 5 5-101ȣ ()",·ΰ, ,2024-03-25 +2023-06-26,ް,,"λ걤 703 55-9, 3 ()",·ΰ, ,2023-04-06 +2023-06-05,ް,ϻﵿ ,"λ걤 103, 1 ()",·ΰ, ,2023-04-06 +2024-04-15,ް,ī(CAFE)051 Ÿ,"λ걤 924, 켺Ʈ 2 116ȣ ()",·ΰ, ,2024-03-25 +2023-06-05,ް,Ϸ λ갨,"λ걤 ߴ12 49, 1 ()",·ΰ, ,2023-04-06 +2023-06-26,ް,()佺Ĵ,"λ걤 458, 1 (õ)",·ΰ, ,2023-04-06 +2023-06-26,ް,ϱ⸮ ̱Ե,"λ걤 277 22, 1 ()",·ΰ, ,2023-04-06 +2024-04-08,ް,ϱ⸮ ̱Ե,"λ걤 277 22, 1 ()",·ΰ, ,2024-03-25 +2023-06-26,ް,Ͷ,"λ걤 284-1, 2 ()",·ΰ, ,2023-04-06 +2023-06-26,ް, ٸŸ,"λ걤 úϷ 40, ÷Եij 510 104ȣ (õ)",·ΰ, ,2023-04-06 +2024-06-13,ް,Ż,"λ걤 а163 11, 2 (嵿)",,ü ,2024-04-02 +2024-04-22,ް,Woody Brook,"λ걤 а 2, 1-2 (嵿)",·ΰ, ,2024-04-18 +2024-04-08,ް,Ϸ λ,"λ걤 22, 1 ()",·ΰ, ,2024-03-25 +2023-09-26,ް,051ī,"λ걤 56 5, 1 ()",,ü ,2023-09-18 +2024-04-23,ް,ũν ,"λ걤 22, 2ѽžƮ 12 B03ȣ ()",·ΰ, ,2024-03-25 +2023-12-14,ǰ,(),λ걤 455 46 (),ǰ,ǥñ ,2023-11-27 +2023-10-30,ǰ,Ͻǰ,λ걤 6 13-12 (),·ΰ,ǰܵ ,2023-10-17 +2024-02-29,ǰ,뼺ǰ,"λ걤 24 1, 202ȣ (ַʵ)",, ؼ ,2024-01-17 +2023-12-05,ǰ,() ǰ,"λ걤 433 23, A 1 ()[*̰]",ǰ,ǥñ ,2023-11-16 +2023-12-05,ǰ,() ǰ,"λ걤 433 23, A 1 ()[*̰]",¡ݺΰ, ؼ ,2023-11-16 +2023-12-08,ǰ,() ǰ,"λ걤 433 23, A 1 ()[*̰]",·ΰ, Ǵ ,2023-11-16 +2023-12-08,ǰ,() ǰ,"λ걤 433 23, A 1 ()[*̰]",·ΰ, ,2023-11-16 +2024-02-07,ǰ,() ǰ,"λ걤 433 23, A 1 ()[*̰]",·ΰ, Ǵ ,2023-01-18 +2024-02-20,ǰ,ĿǶ,"λ걤 뵿 323, 1 ()",·ΰ,ǰܵ ,2024-01-17 +2024-03-19,ǰ,Ʈ,"λ걤 700 13, ûƮ 105 2 206ȣ ()",·ΰ, ,2024-03-07 +2024-05-07,NǸ,Ȳȸ,λ걤 141 (),·ΰ, ,2024-03-07 +2024-03-28,NǸ,Ǽȸ,λ걤 525 6 (),·ΰ, ,2024-03-11 +2024-06-13,NǸ,ɽ,"λ걤 깰9 11, 䵿 10ȣ (õ)",,ü ,2024-03-22 +2024-03-20,NǸ,м,"λ걤 а134 28, 1 (嵿)",·ΰ, ,2024-03-07 +2024-06-14,NǸ,ҶҶۼ,"λ걤 7, ׽ö 6 6008ȣ ()",,ü ,2024-04-04 +2024-04-01,NǸ,ũƮ,"λ걤 ַʷ10 27, 1 (ַʵ)",·ΰ, ,2024-03-18 +2024-03-17,NǸ,ٶ,"λ걤 32, 1 (ַʵ)",·ΰ, ,2024-03-07 +2023-06-28,ǰڵǸű⿵,¾ ,λ걤 754 (õ),,ü ,2023-02-14 +2023-06-15,ǰڵǸű⿵,λ,λ걤 5 (ַʵ),,ü ,2023-04-13 +2023-07-31,ǰڵǸű⿵,± ݰ,λ걤 43 (),,ü ,2023-02-24 +2023-06-08,ǰڵǸű⿵,ϴ޽,λ걤 169 (),,ü ,2023-01-19 +2023-06-08,ǰڵǸű⿵,ϵ ȸ,λ걤 56 21 (),,ü ,2023-02-14 +2023-07-31,ǰڵǸű⿵,ϻȸ,λ걤 1302 9 (),,ü ,2023-02-24 +2023-06-15,ǰڵǸű⿵,,λ걤 ߴ318 78-36 (ַʵ),,ü ,2023-02-17 +2023-06-15,ǰڵǸű⿵,λ꽴,λ걤 ߴ378 39 (ַʵ),,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵,,λ걤 51 (),,ü ,2023-02-09 +2023-07-31,ǰڵǸű⿵,̽Ĵ,λ걤 6 64 (),,ü ,2023-02-24 +2023-07-31,ǰڵǸű⿵,ݵī,λ걤 1518 33 (),,ü ,2023-02-24 +2023-07-31,ǰڵǸű⿵,̽Ÿ̾,λ걤 1520 (),,ü ,2023-02-24 +2023-07-31,ǰڵǸű⿵,ȸ,λ걤 46ȱ 11 (),,ü ,2023-07-24 +2023-07-31,ǰڵǸű⿵,ϻȸ,λ걤 1518 23 (),,ü ,2023-02-24 +2023-07-31,ǰڵǸű⿵,ƽһȸ,λ걤 309 52-5 (),,ü ,2023-02-24 +2023-06-08,ǰڵǸű⿵,ϻȸ,λ걤 250 21 (),,ü ,2023-02-17 +2023-06-08,ǰڵǸű⿵,,λ걤 1210 78 (),,ü ,2023-02-17 +2023-06-15,ǰڵǸű⿵,׺Ĵ,λ걤 ߴ 343 (ַʵ),,ü ,2023-02-17 +2023-06-15,ǰڵǸű⿵,,λ걤 ߴ344 68 (ַʵ),,ü ,2023-02-17 +2023-06-15,ǰڵǸű⿵,Ÿ󳬽,λ걤 901 (),,ü ,2023-02-08 +2023-06-15,ǰڵǸű⿵,,λ걤 531 19 (),,ü ,2023-02-08 +2023-06-15,ǰڵǸű⿵,ĥȸ,λ걤 51 (),,ü ,2023-03-21 +2023-06-28,ǰڵǸű⿵,Ÿ뷡,λ걤 788-1 (),,ü ,2023-02-22 +2023-06-28,ǰڵǸű⿵,Ű Ϸ,λ걤 277 10-12 (),,ü ,2023-02-23 +2023-07-31,ǰڵǸű⿵, 뷡,λ걤 õ 26 (),,ü ,2023-02-24 +2023-07-31,ǰڵǸű⿵, Ұ,λ걤 1518 33 (),,ü ,2023-02-24 +2023-06-08,ǰڵǸű⿵,ȸ,λ걤 202 6 (),,ü ,2023-02-17 +2023-06-08,ǰڵǸű⿵,VIP 뷡,λ걤 202 8 (),,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵, ȸ,λ걤 ÷203 11 (õ),,ü ,2023-02-21 +2023-07-31,ǰڵǸű⿵,ȸ,λ걤 169 86 (嵿),,ü ,2023-02-15 +2023-06-15,ǰڵǸű⿵,־ֽ,λ걤 ߴ 330 (ַʵ),,ü ,2023-02-17 +2023-06-15,ǰڵǸű⿵,âȸ,λ걤 95 96 (),,ü ,2023-02-22 +2023-06-28,ǰڵǸű⿵,Ÿ ε,λ걤 792 (õ),,ü ,2023-02-21 +2024-01-24,ǰڵǸű⿵,QĴ,λ걤 ַʷ10 61 (ַʵ),,ü ,2023-12-06 +2023-06-15,ǰڵǸű⿵,25÷Ե,λ걤 531 16 (),,ü ,2023-02-08 +2023-07-31,ǰڵǸű⿵,ȸ,λ걤 õ 299-4 (),,ü ,2023-02-24 +2023-06-08,ǰڵǸű⿵,ZȨǮ,λ걤 7 (),,ü ,2023-02-17 +2023-06-08,ǰڵǸű⿵,ȸ,λ걤 243 16 (),,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵,о籹,λ걤 745 (õ),,ü ,2023-02-14 +2023-06-15,ǰڵǸű⿵,ַʰ,λ걤 36 17 (ַʵ),,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵,õĴ,λ걤 45 54 (),,ü ,2023-02-16 +2023-06-15,ǰڵǸű⿵,λַʼ,λ걤 ߴ 327 (ַʵ),,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵,罴,λ걤 768 39 (),,ü ,2023-02-22 +2023-06-08,ǰڵǸű⿵,(),λ걤 33 (),,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵,ٸ,λ걤 úϷ4 7 (õ),,ü ,2023-02-21 +2024-01-24,ǰڵǸű⿵,ȭ,λ걤 12 1 (),,ü ,2023-12-06 +2023-06-15,ǰڵǸű⿵,ζн,λ걤 33 (),,ü ,2023-03-03 +2023-06-15,ǰڵǸű⿵,̴Ͻ,λ걤 ߴ 367 (ַʵ),,ü ,2023-02-17 +2023-06-08,ǰڵǸű⿵,,"λ걤 1210 34, B 105ȣ (, Ʈ)",,ü ,2023-02-17 +2023-06-15,ǰڵǸű⿵,Ϻλ,λ걤 533 (),,ü ,2023-02-08 +2023-06-15,ǰڵǸű⿵,24ý,λ걤 504 (ַʵ),,ü ,2023-02-22 +2023-07-31,ǰڵǸű⿵,Ǿ,λ걤 뵿209 16 (嵿),,ü ,2023-02-15 +2023-06-28,ǰڵǸű⿵,ȣ,λ걤 713 (õ),,ü ,2023-02-21 +2023-06-08,ǰڵǸű⿵,Ѽ,λ걤 131 (),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,Ѽ,λ걤 131 (),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,ֻȸ,λ걤 95 (),,ü ,2023-01-13 +2023-06-08,ǰڵǸű⿵,110Ƣ,λ걤 45 34 (),,ü ,2023-01-19 +2023-06-15,ǰڵǸű⿵,뼺,λ걤 30 4 (ַʵ),,ü ,2023-02-22 +2023-06-08,ǰڵǸű⿵,ĽƼPC,λ걤 103 55 (),,ü ,2023-01-19 +2023-06-15,ǰڵǸű⿵,ҽù,λ걤 951 (),,ü ,2023-02-08 +2023-06-15,ǰڵǸű⿵,к׾н,"λ걤 ַ 24 (ַʵ, (B/D))",,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵,ջ,λ걤 782 (õ),,ü ,2023-02-21 +2023-06-28,ǰڵǸű⿵,߽ĭ,λ걤 뵿 62 (õ),,ü ,2023-02-21 +2023-06-15,ǰڵǸű⿵,̴Ͻ,λ걤 ߴ 367 (ַʵ),,ü ,2023-02-17 +2023-06-08,ǰڵǸű⿵,泲Ĵ,λ걤 849 (),,ü ,2023-02-21 +2023-06-28,ǰڵǸű⿵,о籹,λ걤 745 (õ),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,,λ걤 857 (),,ü ,2023-02-21 +2023-06-08,ǰڵǸű⿵,̻ȸ,λ걤 910 (),,ü ,2023-02-21 +2023-07-31,ǰڵǸű⿵,볲,λ걤 а39 116 (嵿),,ü ,2023-02-15 +2023-06-08,ǰڵǸű⿵,Ӽ,λ걤 181 79 (),,ü ,2023-01-13 +2023-06-15,ǰڵǸű⿵,Ķ,λ걤 119 (ַʵ),,ü ,2023-02-17 +2023-06-08,ǰڵǸű⿵,Ĵ,λ걤 133 10 (),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,エ,λ걤 뵿 267 (),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,λü,λ걤 뵿 292 (),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,,λ걤 146 (),,ü ,2023-02-14 +2023-07-31,ǰڵǸű⿵,ȸ,λ걤 а 156 (嵿),,ü ,2023-02-15 +2023-07-31,ǰڵǸű⿵,ȸ,λ걤 뵿 131 (嵿),,ü ,2023-02-15 +2023-06-08,ǰڵǸű⿵,,λ걤 105-9 (),,ü ,2023-01-13 +2023-06-08,ǰڵǸű⿵,ûĴ,λ걤 а 242 (),,ü ,2023-02-14 +2024-01-24,ǰڵǸű⿵,¾罴,λ걤 56 13 (),,ü ,2023-12-11 +2023-06-08,ǰڵǸű⿵,ūĿ,λ걤 ߴ 63 (),,ü ,2023-02-14 +2023-06-15,ǰڵǸű⿵,̴ϸƮ,λ걤 67 (),,ü ,2023-03-21 +2024-01-24,ǰڵǸű⿵,ϸƮ,λ걤 ÷ 186 (õ),,ü ,2023-12-06 +2023-06-28,ǰڵǸű⿵,Zȭ,λ걤 292 17 (),,ü ,2023-02-16 +2023-06-15,ǰڵǸű⿵,̸Ĵ,λ걤 51 87 (),,ü ,2023-03-03 +2024-01-25,ǰڵǸű⿵,Ĵ,λ걤 135 65 (嵿),,ü ,2023-12-07 +2023-07-31,ǰڵǸű⿵,,λ걤 ߴ196 62 (嵿),,ü ,2023-02-15 +2024-01-25,ǰڵǸű⿵,âĴ,λ걤 뵿 182 (嵿),,ü ,2023-12-07 +2023-06-08,ǰڵǸű⿵,ģģ,λ걤 90 (),,ü ,2023-01-13 +2023-06-15,ǰڵǸű⿵,ҸŴ,λ걤 ߴ344 6 (ַʵ),,ü ,2023-02-17 +2023-06-28,ǰڵǸű⿵,󺧸̽ũ 1ȣ,λ걤 21 (),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,۸Ĵ,λ걤 64 40-13 (),,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,,λ걤 22 (),,ü ,2023-02-17 +2023-07-31,ǰڵǸű⿵,ȣ,λ걤 뵿 154 (嵿),,ü ,2023-02-15 +2024-01-24,ǰڵǸű⿵,()̸Ʈ24 ̸Ʈλ,"λ걤 910 (, ̸Ʈ λ )",,ü ,2023-12-11 +2023-06-28,ǰڵǸű⿵,ŶPC,λ걤 730 (),,ü ,2023-02-22 +2023-06-15,ǰڵǸű⿵,ѹ̸Ʈ Ÿ,λ걤 888 (),,ü ,2023-02-08 +2023-07-31,ǰڵǸű⿵,μĴ,λ걤 18 24 (嵿),,ü ,2023-02-15 +2023-06-15,ǰڵǸű⿵,Ŀ24,λ걤 504 (ַʵ),,ü ,2023-02-22 +2023-06-28,ǰڵǸű⿵,GS25 ô,"λ걤 720, 1 (õ, GS25 ô)",,ü ,2023-02-14 +2023-06-08,ǰڵǸű⿵,Ϸ λ,"λ걤 86 41, ǽ 1 101ȣ ()",,ü ,2023-01-13 +2023-06-15,ǰڵǸű⿵,׿ 1ȣ,"λ걤 ߴ 362-1, 1ȣ (ַʵ)",,ü ,2023-03-08 +2023-06-28,ǰڵǸű⿵,()׿ ,"λ걤 409, 1ȣ ()",,ü ,2023-02-16 +2024-03-12,Ǹž,Ƽ۴,"λ걤 ַʷ 64, 2 (ַʵ)",·ΰ, ,2024-03-07 +2024-03-26,.,,λ걤 236 15 (嵿),·ΰ, ,2024-03-07 +2024-03-22,.,ֻ,"λ걤 1468 34, 1~2 ()",·ΰ, ,2024-03-07 +2024-04-23,, ߰,"λ걤 201, 1 ()",·ΰ, ,2024-03-25 +2024-06-13,ܱ޽ļ ǰǸž, 302,"λ걤 깰25 75, 63ȣ (õ, λ û)",,ü ,2024-03-28 +2024-03-22,ܱ޽ļ ǰǸž,,"λ걤 깰25 70, ûŽ 1 -66ȣ (õ)",·ΰ, ,2024-03-07 +2023-08-14,ǰɽǰϹǸž, ,λ걤 56 60-14 (),,㰡Ű,2023-06-12 +2023-12-22,ǰɽǰϹǸž,¸Ŭ,"λ걤 ÷ 144, 112 203ȣ (õ, ڿվƮ)",,ü ,2023-11-17 +2024-01-25,ǰɽǰϹǸž,뼺,λ걤 1530 25-8 (),,㰡Ű,2023-08-21 +2023-12-22,ǰɽǰϹǸž,ѱƮ,"λ걤 342 21, 104 1305ȣ (, ǪƮ)",,ü ,2023-11-17 +2024-01-25,ǰɽǰϹǸž,,λ걤 а 124 (嵿),,㰡Ű,2023-06-28 +2023-12-22,ǰɽǰϹǸž,LG ,λ걤 312 (),,ü ,2023-11-17 +2023-12-22,ǰɽǰϹǸž,λѹǰ,λ걤 804 31 (),,ü ,2023-11-17 +2023-12-22,ǰɽǰϹǸž,ѹ,λ걤 ó 37 (õ),,ü ,2023-11-17 +2024-05-16,ǰɽǰϹǸž,KGCַ,λ걤 ߴ 267 (ַʵ),,ü ,2024-03-26 +2024-04-01,ǰɽǰϹǸž,̴,"λ걤 131, λ 6 324ȣ ()",·ΰ, ,2024-03-11 +2024-05-16,ǰɽǰϹǸž,Ŭ ַʼ,"λ걤 425, 3 (ַʵ)",,ü ,2024-03-26 +2024-05-16,ǰɽǰϹǸž,Ƹ۽ ַϿ Ƹī,λ걤 54 (ַʵ),,ü ,2023-03-26 +2023-12-22,ǰɽǰϹǸž,õȣǰ() õȣ,"λ걤 349 38, 4 ()",,ü ,2023-11-17 +2023-12-22,ǰɽǰϹǸž, NŸ,"λ걤 ÷ 142, 106 1403ȣ (õ, ڿվƮ)",,ü ,2023-11-17 +2023-08-21,ǰɽǰϹǸž,̸7,"λ걤 1210 81-8, 302ȣ (, )",,ü ,2023-06-23 +2024-05-16,ǰɽǰϹǸž,()ӿ,"λ걤 ַʷ 101, 1 302ȣ (ַʵ)",,ü ,2024-03-26 +2024-03-18,ǰɽǰϹǸž,ְǷ,"λ걤 ߴ 260, 2 (ַʵ)",·ΰ, ,2024-03-11 +2023-08-14,ǰɽǰϹǸž,ڻ,"λ걤 7, 2 2170ȣ (, װ)",,㰡Ű,2023-06-15 +2024-03-27,ǰɽǰϹǸž,Ŭ,"λ걤 760, 2 ()",·ΰ, ,2024-03-11 +2024-03-27,ǰɽǰϹǸž,,"λ걤 526, 110 2203ȣ (ַʵ, 浿 )",·ΰ, ,2024-03-11 +2024-03-28,ǰɽǰϹǸž,ƴǪ(ANUFOOD),"λ걤 1330 37, ݰ 3 ()",·ΰ, ,2024-03-11 +2024-04-01,ǰɽǰϹǸž,ֽȸ Ʈ,"λ걤 104 28-15, 100ȣ (, ũ2)",·ΰ, ,2024-03-11 +2024-03-28,ǰɽǰϹǸž,ġ,"λ걤 22, 615ȣ ()",·ΰ, ,2024-03-11 +2024-03-27,ǰɽǰϹǸž,μŰ,"λ걤 ÷203 40, 1 (õ)",·ΰ, ,2024-03-11 +2024-04-01,ǰɽǰϹǸž,ƹ,"λ걤 7, ׽ö 1 1379ȣ ()",·ΰ, ,2024-03-11 +2024-04-02,ǰɽǰϹǸž,۴,"λ걤 372-22, 112 1301ȣ (ַʵ, ݵ޸ӵŸ)",·ΰ, ,2024-03-25 +2024-05-16,ǰɽǰǸž,()ӿ,"λ걤 ַʷ 101, 1 302ȣ (ַʵ)",,ü ,2023-03-26 diff --git a/src/docs/message-examples/식품위생업소행정처분현황테이블.sql b/src/docs/message-examples/식품위생업소행정처분현황테이블.sql new file mode 100644 index 0000000..f0ace61 --- /dev/null +++ b/src/docs/message-examples/식품위생업소행정처분현황테이블.sql @@ -0,0 +1,11 @@ +CREATE TABLE TB_VIOLATION_HISTORY ( + CONFIRM_YMD VARCHAR(10) NOT NULL + , COMPANY_TYPE VARCHAR(128) + , COMPANY_NAME VARCHAR(256) NOT NULL + , ADDRESS VARCHAR(2048) NOT NULL + , VIOLATION_TITLE VARCHAR(2048) + , VIOLATION_TYPE VARCHAR(512) + , VIOLATION_YMD VARCHAR(10) + , PRIMARY KEY (CONFIRM_YMD, COMPANY_NAME) +); + diff --git a/src/main/java/com/bsmlab/dfx/agent/config/DfxAgentConfiguration.java b/src/main/java/com/bsmlab/dfx/agent/config/DfxAgentConfiguration.java index 168ea14..b488fc9 100644 --- a/src/main/java/com/bsmlab/dfx/agent/config/DfxAgentConfiguration.java +++ b/src/main/java/com/bsmlab/dfx/agent/config/DfxAgentConfiguration.java @@ -19,6 +19,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; @@ -165,7 +166,9 @@ public class DfxAgentConfiguration { public SqlSessionFactory innerSqlSessionFactory(@Qualifier("innerDataSource") DataSource dataSource, @Qualifier("settings") Settings settings) throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource); - sqlSessionFactoryBean.setMapperLocations(settings.getMapperLocations()); + sqlSessionFactoryBean.setMapperLocations( + new PathMatchingResourcePatternResolver().getResources("classpath:mapper/**/*.xml") + ); return sqlSessionFactoryBean.getObject(); } diff --git a/src/main/java/com/bsmlab/dfx/agent/config/EmbeddedDbConfiguration.java b/src/main/java/com/bsmlab/dfx/agent/config/EmbeddedDbConfiguration.java deleted file mode 100644 index d9da871..0000000 --- a/src/main/java/com/bsmlab/dfx/agent/config/EmbeddedDbConfiguration.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.bsmlab.dfx.agent.config; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.ClassPathResource; -import org.springframework.stereotype.Component; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.nio.file.StandardCopyOption; - -@Slf4j -@Configuration -public class EmbeddedDbConfiguration { - private static final String DB_SOURCE_FILE_PATH = "./storages/dfxagent.mv.db"; - - //example: embedded.db.file.directory=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples - @Value("${embedded.db.file.directory}") - private String embeddedDbFileDirectory; - //example: setting.file=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples\dfxagent.json - @Value("${setting.file}") - private String settingFile; - - public void copyEmbeddedDbFileIfNotExists() { - log.debug("run"); - - String embeddedDbFileDirectory = System.getProperty("embedded.db.file.directory"); - File targetDirectory = new File(embeddedDbFileDirectory); - if(!targetDirectory.exists()) { - targetDirectory = new File(System.getProperty("user.home")); - } - File targetFile = new File(targetDirectory.getAbsoluteFile() + "/dfxagent.mv.db"); - log.debug("embeddedDbFilePath: {}", embeddedDbFileDirectory); - if(!targetFile.exists()) { - try { - InputStream inputStream = new ClassPathResource(DB_SOURCE_FILE_PATH).getInputStream(); - log.debug("embedded db file copy from {} to {}", DB_SOURCE_FILE_PATH, embeddedDbFileDirectory); - Files.copy(inputStream, Paths.get(targetFile.getAbsolutePath()), StandardCopyOption.REPLACE_EXISTING); - } - catch (IOException e) { - log.error("cannot make Embedded DB files. exit application."); - System.exit(0); - } - } - } -} diff --git a/src/main/java/com/bsmlab/dfx/agent/config/StartupRunner.java b/src/main/java/com/bsmlab/dfx/agent/config/StartupRunner.java index db20b32..4817a5e 100644 --- a/src/main/java/com/bsmlab/dfx/agent/config/StartupRunner.java +++ b/src/main/java/com/bsmlab/dfx/agent/config/StartupRunner.java @@ -10,16 +10,12 @@ import org.springframework.stereotype.Component; @RequiredArgsConstructor @Component public class StartupRunner implements ApplicationRunner { - private final EmbeddedDbConfiguration embeddedDbConfiguration; - @Override public void run(ApplicationArguments args) throws Exception { log.debug("run"); - //TODO 1. dfxagent.yml 로드 및 설정 관리자에 저장 - //TODO 2. embedded db 체크 및 생성 - //embeddedDbInitializer.copyEmbeddedDbFileIfNotExists(); - - //TODO 3. dfxagent.yml 을 기반으로 데이터소스 및 커넥션 풀 생성 + // 1. dfxagent.yml 로드 및 설정 관리자에 저장 : DfxAgentConfiguration, Settings + // 2. embedded db 체크 및 생성 : DfxAgentConfiguration + // 3. dfxagent.yml 을 기반으로 데이터소스 및 커넥션 풀 생성 : DfxAgentConfiguration, datasource.* //TODO 4. Worker 쓰레드 생성 } } diff --git a/src/main/java/com/bsmlab/dfx/agent/listener/ListenerController.java b/src/main/java/com/bsmlab/dfx/agent/listener/ListenerController.java new file mode 100644 index 0000000..bffca4b --- /dev/null +++ b/src/main/java/com/bsmlab/dfx/agent/listener/ListenerController.java @@ -0,0 +1,32 @@ +package com.bsmlab.dfx.agent.listener; + +import com.bsmlab.dfx.agent.listener.dto.AckDto; +import com.bsmlab.dfx.agent.listener.service.ListenerService; +import com.bsmlab.dfx.agent.support.ServletUtils; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class ListenerController { + private final ListenerService listenerService; + + @PostMapping(value = "/listen") + public AckDto listener(HttpServletRequest request) { + AckDto ackDto = AckDto.builder().build(); + try { + String bodyString = ServletUtils.getBodyString(request); + ackDto = listenerService.saveNewMessage(bodyString); + } catch (IOException e) { + ackDto.setResult("fail"); + ackDto.setMessage(e.getMessage()); + } + return ackDto; + } +} diff --git a/src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java b/src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java new file mode 100644 index 0000000..db5e0e3 --- /dev/null +++ b/src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java @@ -0,0 +1,13 @@ +package com.bsmlab.dfx.agent.listener.dto; + +import lombok.Builder; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Builder +public class AckDto { + private String result; + private String message; +} diff --git a/src/main/java/com/bsmlab/dfx/agent/listener/dto/ListenerMapper.java b/src/main/java/com/bsmlab/dfx/agent/listener/dto/ListenerMapper.java new file mode 100644 index 0000000..754dc69 --- /dev/null +++ b/src/main/java/com/bsmlab/dfx/agent/listener/dto/ListenerMapper.java @@ -0,0 +1,10 @@ +package com.bsmlab.dfx.agent.listener.dto; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.Map; + +@Mapper +public interface ListenerMapper { + void insertReceiveMessage(Map param); +} diff --git a/src/main/java/com/bsmlab/dfx/agent/listener/dto/ReceiveMessageDto.java b/src/main/java/com/bsmlab/dfx/agent/listener/dto/ReceiveMessageDto.java new file mode 100644 index 0000000..1edec24 --- /dev/null +++ b/src/main/java/com/bsmlab/dfx/agent/listener/dto/ReceiveMessageDto.java @@ -0,0 +1,17 @@ +package com.bsmlab.dfx.agent.listener.dto; + +import lombok.*; + +@Getter +@Setter +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ReceiveMessageDto { + private String senderHostId; + private String messageUuid; + private long receivedTimestamp; + private String messageType; + private String data; + private String processStatus; +} diff --git a/src/main/java/com/bsmlab/dfx/agent/listener/service/ListenerService.java b/src/main/java/com/bsmlab/dfx/agent/listener/service/ListenerService.java new file mode 100644 index 0000000..5bd4b08 --- /dev/null +++ b/src/main/java/com/bsmlab/dfx/agent/listener/service/ListenerService.java @@ -0,0 +1,35 @@ +package com.bsmlab.dfx.agent.listener.service; + +import com.bsmlab.dfx.agent.listener.dto.AckDto; +import com.bsmlab.dfx.agent.listener.dto.ListenerMapper; +import com.bsmlab.dfx.agent.listener.dto.ReceiveMessageDto; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +@RequiredArgsConstructor +@Slf4j +@Service +public class ListenerService { + private final ListenerMapper listenerMapper; + + public AckDto saveNewMessage(String messageJsonString) { + return null; + } + + private ReceiveMessageDto toReceiveMessageDto(String messageJsonString) throws JsonProcessingException { + ObjectMapper objectMapper = new ObjectMapper(); + Map map = null; + map = objectMapper.readValue(messageJsonString, new TypeReference>() {}); + ReceiveMessageDto receiveMessageDto = ReceiveMessageDto.builder() + .senderHostId(map.get("")) + .build(); + return null; + } +} diff --git a/src/main/java/com/bsmlab/dfx/agent/support/ServletUtils.java b/src/main/java/com/bsmlab/dfx/agent/support/ServletUtils.java new file mode 100644 index 0000000..a0f49e3 --- /dev/null +++ b/src/main/java/com/bsmlab/dfx/agent/support/ServletUtils.java @@ -0,0 +1,16 @@ +package com.bsmlab.dfx.agent.support; + +import jakarta.servlet.http.HttpServletRequest; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.stream.Collectors; + +public class ServletUtils { + private ServletUtils() {}; + + public static String getBodyString(HttpServletRequest request) throws IOException { + String bodyString = new BufferedReader(request.getReader()).lines().collect(Collectors.joining("\n")); + return bodyString; + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f679982..b3369ab 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -2,10 +2,13 @@ spring: application: name: DFX Agent h2: - console: true - path: /dfxagent-db-console + console: + enabled: true + path: /dfxagent-db-console + settings: + web-allow-others: true datasource: - driverClassName: org.h2.driver + driverClassName: org.h2.Driver url: jdbc:h2:classpath:/storages/dfxagent username: smbaek password: qortpals1! diff --git a/src/main/resources/mapper/listener/message.xml b/src/main/resources/mapper/listener/message.xml new file mode 100644 index 0000000..100e09f --- /dev/null +++ b/src/main/resources/mapper/listener/message.xml @@ -0,0 +1,12 @@ + + + + + INSERT INTO TB_RECEIVE_MESSAGE ( + SENDER_HOST_ID, MESSAGE_UUID, RECEIVED_TIMESTAMP, MESSAGE_TYPE, DATA, PROCESS_STATUS + ) + VALUES ( + #{SENDER_HOST_ID}, #{MESSAGE_UUID}, #{RECEIVED_TIMESTAMP}, #{MESSAGE_TYPE}, #{DATA}, #{PROCESS_STATUS} + ); + + \ No newline at end of file