From cf9b38812745d2edee179a34661cd3bb1bf0fb52 Mon Sep 17 00:00:00 2001 From: cyjadela Date: Tue, 28 Oct 2025 13:36:02 +0900 Subject: [PATCH] =?UTF-8?q?Feat:=20Todo=20=EC=83=9D=EC=84=B1=20API=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AiAnalysisDTO$AiAnalysisDTOBuilder.class | Bin 0 -> 3082 bytes ...AnalysisResult$AnalysisResultBuilder.class | Bin 0 -> 4885 bytes .../dto/AiAnalysisDTO$AnalysisResult.class | Bin 0 -> 3716 bytes ...AnalysisDTO$Decision$DecisionBuilder.class | Bin 0 -> 2288 bytes .../biz/dto/AiAnalysisDTO$Decision.class | Bin 0 -> 1521 bytes ...AnalysisDTO$KeyPoint$KeyPointBuilder.class | Bin 0 -> 2323 bytes .../biz/dto/AiAnalysisDTO$KeyPoint.class | Bin 0 -> 1498 bytes ...RelatedMinutes$RelatedMinutesBuilder.class | Bin 0 -> 2790 bytes .../dto/AiAnalysisDTO$RelatedMinutes.class | Bin 0 -> 1782 bytes ...entAnalysis$SentimentAnalysisBuilder.class | Bin 0 -> 3252 bytes .../dto/AiAnalysisDTO$SentimentAnalysis.class | Bin 0 -> 2226 bytes .../meeting/biz/dto/AiAnalysisDTO.class | Bin 0 -> 2903 bytes .../meeting/infra/cache/CacheService.class | Bin 13624 -> 15154 bytes .../infra/config/RestTemplateConfig.class | Bin 0 -> 2255 bytes .../infra/controller/MinutesController.class | Bin 65208 -> 75471 bytes .../infra/controller/TodoController.class | Bin 16819 -> 15519 bytes ...TodoRequest$CreateTodoRequestBuilder.class | Bin 3007 -> 2637 bytes .../infra/dto/request/CreateTodoRequest.class | Bin 2824 -> 2350 bytes .../dto/response/MinutesDetailResponse.class | Bin 6596 -> 7730 bytes .../event/constant/EventHubConstants.class | Bin 1083 -> 1220 bytes .../MinutesAnalysisEventConsumer.class | Bin 0 -> 15834 bytes ...AnalysisResult$AnalysisResultBuilder.class | Bin 0 -> 3214 bytes ...nalysisCompletedEvent$AnalysisResult.class | Bin 0 -> 2071 bytes ...Event$FailureInfo$FailureInfoBuilder.class | Bin 0 -> 2524 bytes ...esAnalysisCompletedEvent$FailureInfo.class | Bin 0 -> 1674 bytes ...MinutesAnalysisCompletedEventBuilder.class | Bin 0 -> 4692 bytes .../dto/MinutesAnalysisCompletedEvent.class | Bin 0 -> 5916 bytes ...Event$MeetingMeta$MeetingMetaBuilder.class | Bin 0 -> 3374 bytes ...utesAnalysisRequestEvent$MeetingMeta.class | Bin 0 -> 2100 bytes ...t$MinutesAnalysisRequestEventBuilder.class | Bin 0 -> 4795 bytes .../dto/MinutesAnalysisRequestEvent.class | Bin 0 -> 5407 bytes .../event/publisher/EventHubPublisher.class | Bin 10232 -> 10663 bytes .../event/publisher/EventPublisher.class | Bin 1314 -> 1432 bytes .../event/publisher/NoOpEventPublisher.class | Bin 4718 -> 5146 bytes .../infra/gateway/AiServiceGateway.class | Bin 0 -> 7870 bytes meeting/logs/meeting-service.log | 1632 +++++++++++++++++ .../meeting/biz/service/TodoService.java | 13 +- .../infra/controller/TodoController.java | 8 +- .../infra/dto/request/CreateTodoRequest.java | 6 - .../V3__add_assignee_name_to_todos.sql | 8 + 40 files changed, 1656 insertions(+), 11 deletions(-) create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AiAnalysisDTOBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AnalysisResult$AnalysisResultBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AnalysisResult.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$Decision$DecisionBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$Decision.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$KeyPoint$KeyPointBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$KeyPoint.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$RelatedMinutes$RelatedMinutesBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$RelatedMinutes.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$SentimentAnalysis$SentimentAnalysisBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$SentimentAnalysis.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/RestTemplateConfig.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/consumer/MinutesAnalysisEventConsumer.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent$AnalysisResult$AnalysisResultBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent$AnalysisResult.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent$FailureInfo$FailureInfoBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent$FailureInfo.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent$MinutesAnalysisCompletedEventBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent$MeetingMeta$MeetingMetaBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent$MeetingMeta.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent$MinutesAnalysisRequestEventBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/AiServiceGateway.class create mode 100644 meeting/src/main/resources/db/migration/V3__add_assignee_name_to_todos.sql diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AiAnalysisDTOBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AiAnalysisDTOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..065ebc33cebb96a0419d7db7c7c8153e5c3307a7 GIT binary patch literal 3082 zcmb_e-EtH~6#jaX?2yes5F-d;Oe7?m1sPQQT>@@4ZU56x~%J9yESZdMXD{@Cfq8ad-luG+rC>fb2f$B8X zmbb(u4}Hzs^rYk`${5gMM9eXK==}&;ydCg_ zvl#Ly4(Lg(adb~4iah8-5OndTkV4;L7%0y^WEiZgHZNfSV=hkP4TjN%kbE`nGn_gs`v zWN0R`b7FCvD!lJv1g=qG%Ed{z3_q1$!@_h#k5j=J7pE}FFw`_9!*HW~bo8o&D-73< zny4jI@PSFeYYe~Sq(U}1UPZ|X;wvld|9hWG=!90bS1^o`!!jMDgpY8;!N;lYV_&%V z1fMcEJAM%JweK0Gdrh|;s+t3NhPvbDF22B*4Cgxj7OyMW^7XeuZ_nD$G&l8dV|Sb9us`ZS$caz_ zQTKyjU1(k%E#lS*++k2@>r=O+4VGVyqB(YTVsD0+n;jzN)H6lQwP#e=uVz-vu~`Op zMbb#B2YwWBN{6vLkq%ZEZXdN;r~VtZcC0X*N)sG37%peRmlqHRs|@1@v(nVE(W7Ep zr2)FEB8^GvqXSe2MHEbDr<>Eg5fAMJ)8jKV>h>8Lwd4$qnsbImopB#+nB>sRBw4+Z zO>KI_$!H&{Jja{Ab=7%`evNPt%vt(10*C?U@HXw#b8$Wgs7kZ~eRnEXe#eE%uXHS6 zKh#;vl0Xr2;t%?7b2#Y5zCo=+siqGH9q${|Muh(HV1lgJ@5hw+lYN8QkTRS+9Q0D( zpf)Ec)p7YSO{eB@=(5@?GT_CBQRWq%}@!lGY_!)6a1=KP_yA zO}xx757%>K+)uJ{hOkojf8awS!fw;Fy})O{L84|7QA4P9^Ymsao^wPq=G18|V3BSY bsD2sE{UyrNW!mr3{x$AljS}peE<)vBR(|21 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AnalysisResult$AnalysisResultBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AnalysisResult$AnalysisResultBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b66de4650d96c9a6d9a1ef79ebdb495256f022c6 GIT binary patch literal 4885 zcmcInTT>iG6#g0l17yN2HzOL8NN^#TNusD^fyhM?%mR@mU=nY$yB%nDb_Qp9ut=2; z{so^btMclT4_cK}tXSm_@JCsmo|#>CcD7d5un#k*FK5noZhiX9-~YV)3&1Qa4Q&kf z^G?a|ZIO3e+t}WE!d=HGaV~|uW#q&YqaYn)R?OO_weJaUVSRPDJYM6TZ^@eJoG+{b zcQqVi=-)B-Ov5rs(rRvp=OsgTk?-Ggge^VV&IJ3u6qb<@o=nqrR&3d(^j*%dT(dou zXop>T#JbeV7fgXxY4F)E;JvKZ29YQ7Ll9vZ++7eaz9HsNP%Zd44qTL7IKE6JvF+) zaBSWw@E){dNXJ>c#?Y4$Hec~eIqt5T6ielACvRFCrYqDuT0ADV1$kn#c|FVOHA-?) zU8HK9oE~i%)-SbKuXZ9@rD!)8-qz89PKGn_pzQCK1M_{-mc((HX_+sTitp$+u2d{W zngnGkI?1hc&6ti8=w&#HXjYy7R;v82jy~n8Uz0(5^@`F;#joiYP>MfIHGe3Rg{qaB zzNh0PPBA=8EwvKn10APvhM^;;u4#t()GMQ-cV-FN)woj&+S!6+1a)&T*tCU2}Jt%WbFN^M3IPj)3UNc z@^oJ(mb#4?3Q>liP22xGp9bdp%Zm-m&x~-aK zqts|E+0@+5Tc+o6Ps1j|wPw#PLvLJphSTwd${)ZZhRJ5d50|erI%(yhhOhpQq;m65 zlFCC3l!DEds(2Sn9*8e!ph`N|w55p)hG8JFreTZWa^hsv%XJNc;e2COYOKS9K~7oW zp1k9D5*Mi(YNr}Qzk{l4qqj!0HgutzXeaIV1aoSaDtmg(90z4efRW^d7q z?n7K47ldYCObA>ikT&Ae#;!carLo^=*p6C}XF`@pr1GZnC6%=boLcFk6-JHc0o>)r za3hC?Q{joj9S`heIDu3hH>Ins8Vz9D4q;UoY5D`Jvf)Z&8^#Z9gG!mW4SnbjTsBYz zceOE`acDS|g>kq63`xaITZAOMl>F zA|oLQkiwx6k{cnJc!@=z5$N>@v;&_8s@;vnJ40*g7_HHh#eJIHBqb)XfzJb@C-H#j gLz;g<^h=^&6a9v0j%c1JC;AxM*ugmz1B8u#0m(HW`v3p{ literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AnalysisResult.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$AnalysisResult.class new file mode 100644 index 0000000000000000000000000000000000000000..08ba3164355d4b7a06fa77c141807422116e60a1 GIT binary patch literal 3716 zcmb_eeN!7n7=M-!E~F==SgKHIsnQBZ+N-TvYY+?|B{o2t&?(-1SXQp;1PYFO64*ZW=hV zSAWSH9;5Lie*DB1mgnMiC3x?9!qh9m^@@016Ni@J`3`5a)AM?zlG>)nk+R|{uyauT zlkGI2d7%&be@kng11EzMitD#phI7nlDm)Ol5^aF7P2Lc$uq_~-gRz?tTA+Hu;ilp7 z=8mv@k3&JN&*aq6sCGdHYQ|k|d7^~}qs{d3t;MI~|lLmbzae?E8RWp_=mWUjcL>vC5i zd^YZ;jS{1YxQ@eb1*7Tih3IRc&<>-AY2g>*B;YO)PZfG{8lq%f4M(t_TUYD@GIscG>@m; zMfm*Q2v!Kvhx8Hb3~gKJL(;KBp2%vy)6HI(xd28DH_*pWD*=}hfZB84g_)3SEEO}aKS+NS&3OtwuA zw3)Fs6}4%lO>0tbCQ;S%f!=C}6O|(nBlgLedUq~O6vp?$M7eWEIc&ES!})Rb*viE`{wU`QGJA|3 zPC#J7#|TE9bk4^Kj0&uk>&NZnLmwr)iI#(VWp=l-;6~+E80J zJZ~IA-XkY}-L#WPF01{S?OV|~7a(_W$rzh*8+Lw@cFQ!=5N2nVNDW@wQ5GU#BQm!L|YV6^bz|^Zv$$42r=yXk{_Kry{ zKIU!?aY~0#aD2d%$CG;(`7StS$mzJ!IUSe#kj~+dNr};mI7V$iOTqU@qGI9vILVgZMt+(nvnpq!NDDVW=9K_`z4 zniY!chx2rJIOQsf?8@v_Eg3oxrfVsX32hUCZKiH@Vvq;ZLcF z4T&cH0DqKm_WFX-CLp0nJF_#hPoH^a_Sf(4KLHf+)IyBmxu+UVQwmQ7(%G*c^FTQb z&b5$rrz(z}npRFx6s7AQg(58NZqJptCqkj5g&~IYfqUpWzDw2H)dTKn2Fp`Yb4lJr zjq^RYE$?%9x%MkYU(RA#C_GMs*lblmpmZ8HM%mirfS^6b%yel zF-akfNgEm5U`V_aQs`F<@mzk7VZ0(F-)c6hJlJ)Kpkbvv*WYskVa}aks?POVSMUs} z)F=4}s9hVwNKg-YUr>Lmm)DYn7&U*{8KMDyV8b%tV{IzEiBcaWlb^GZ#0c#Q<=6in zut`3)kwPMcI3^ihWdB!3|N{sa?W$dBPB{hBIZ9k-$g=yV%X0}vd_n9AY8H)PLVFGbhwb^-3< z9u+d&KNo2FVn8!^IFM1S$7uF*ME|s*!HgcA%V_>$jOdvSWYpE@1i7zg7;OyHD1-a} zAfE(27W5$+^R>mwr);ytT hp|a+^P(>UCipQ{kMY0p*F)YEMsx)~kWS>O&r9af=EgJv; literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$KeyPoint$KeyPointBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$KeyPoint$KeyPointBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..0cd19113b6adbd4bad8d35c889564a39665def4c GIT binary patch literal 2323 zcmb_ee{T~<5Pf6EIpewnQW^qjAru3)p*i}CHkbg34aLHQs)?wo{!yLJ+hoakH@aI# zB%g$j(MpMssMHV84^=ViyChD|f)w(HZ+GYB-psz4dGf#iz5WNlJRUg65SqU3x;-U* z9V&NqWlMzG?FwO}T5;QQ%k3EL&dYh_1)GtK8p}^hkHzLsS}L=*S?I~2BSHrwgj3JG z4bKfc{`zVAx$q4kCsjwhAW)Mq^>a@d*%eK-AtTui#Jp14ct&a!5yo4A?zZ)s`=d}I z^o;1#2#&9n5sHDvTl?TkCgcqHb%9_1Av;3(fGXI?1nIWdlyRms^sZXFv{ocCh6Svf|) z6Cj)`B8O4J@8vX6#~tglB2J)SuhBSe=!->sgrdFBr6NAIL2_-|VT8Hz2gIs5xI&nH z?-~|R!Zq7CWkRLgOjF!Qn{3zRjgFg@aE9|wweUC(5 zk@1w_=DU5=i0J@4BTKp$`r@JNxA=i+p0WAx*e+;oA`^P+PlQ?3ov46s@STHi38npv zrP|PI!i}#Jr}@zH4bPg*{}$opVCN;?G2kOlbpjEUT3WC5)@$i32P_9ZT;5z4L)?EG z@Q;P2Hpp!PQTKviNg7cb8^zao%o3Il-hNlhW_CA;mX-UOHAgq5SzfIAB-=!3`lm!@ z=BPp_HWe#YJ@BGPL=Nr{ZvNj!<4)O4f|Y4^yQi)930G2;7{;xG1;T~5yRtOKh2Wrz zA~KJ3WN?WmF3Zh0f{fJ>J~@1{Yo6DPo%fWD2Q_8mkv(LyI4rn~F^G7ItuA{Kues_g zoc^mH<`aI}pulaM;inD24)_!kys{YJ>=2+D+cNy#sZQ-+vic`)GdK)25xXQ%?3~<_ z_-^O<-Qn!^L9g#%>d2rmQN$|t`B2bopJu0eZ3h>Q3>q^{EQs&Sbo$7kaj6Jj;PQ}6 z7nl&s{p8;${aW2-TDO^nZBBX{)30!KILUFnCim)9L3IfBeWu=GPaMX5jqAYMkS7x4 w95;_G^34Nf`-*LOM*g0EKX3B_Ql*D%LLW;MfIUhnbWpE}N=(MPDg0ZSqs_W%F@ literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$KeyPoint.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$KeyPoint.class new file mode 100644 index 0000000000000000000000000000000000000000..ca33f77bb257954b4f5e180c4f3d9241b5609124 GIT binary patch literal 1498 zcmb_bYflqF6g|^Ywv`saBn@rTi zhC~y8fIrH3XWK%ACLpm%d+*%G>6v@({QCXqpCi*t6cJk=+vmCZ$;I(g)s*2zcI;S z6yr7~aD}0NSxBLuF{F#7ZHD1BA^Cc>4 zbsHJ<6Jfn0=rT(eADoeg@K?G5j*|+fBs70{$A*P0!%(~WNKc|vG5LEo29RSIH2IFa zCSI~Jh-?mNjMJg$okp*m4w>oXHdQkU_zRH?=C9?PGYlDQPm*>kp&!RQwlL2y|F5#q zE_N54^ys>sC8FdykM&CxYfRBq()6JEkTRnuFJ7HaQnuCoY%3q>WKlKfh z9ieZLV&;?mfzfw|xcr6u6t2>*sREwjS`q=BCXw%f;8Mm^W}I&*d`gOs+ZU5|yIp`A zxJh}2Tey7&(9}sDy@Bpxx+hTTh|$dFb1}MqCZpo{7}1;R$*4P{LpWbgFk0$4qX|6d z0ThzpM(DglKu)2Bf-~E~lv8S9#+l5tP&|pgoS-kzf>2jS0ppp4F|y^8l`%_@H;*M* isJwX|RFTFk#Z!2QIkIEqF}Qd{b))1xCi^7GyMF*Rk0EOS literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$RelatedMinutes$RelatedMinutesBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$RelatedMinutes$RelatedMinutesBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..483951b6133d4be4d47c9242921c74bbc130dede GIT binary patch literal 2790 zcmcIm>uwWA7(J83-o$JPO}RAW(oj<37@DQ`iwWS^&82mc3a6m9>W{HKC4<*9(eBt% zc#=LwD}kt})CcH8RsF`h3f}AjsZf5*&dleT^WD$*pMRhK4WNP@2O|tWv~<_&DcRD2 z^7bD-7J>Gy0z72n5w_{y);LFBr}S!WVt6TB1SDkbu<~@`2!?Rt#rir)qSIVLH-nHF3$kdz>t^W?6{)Jdk!D z3&+g9B$FT1PbI))XQ!AB;PNSHn*hUQ7dhnZYSzUB@(e!}Yp1F3Jr@O>u?nxaaIL~1 zb~z(&r)kKdi??u=Dy?a&o1t2KV{K&zMTR?XSQ`Z_p=8VQIzuC)9MT0+ON(CG3by*k zjgESg;XHYr>evE2eB|I}qT8bzEJ+b>M!?j@xBSt7^Ku!@medgkGe8F(3 z%R8c~Rg0Sk((KbJG+Y_#t6zq}V){s%_fmHUtQ23%uz{h_(7m7~*5#nV6AZXwqd*R? zX>CFi@Pln(_H{cf;1+H>SY=pz5htnox+AD3o<;gtC<5*(|linx!eKh6_o-(Q~!M z@IfkRS!r71M)a4G z5fP?j#7@U#7L#5p!X4J~Hc34?$!N}%o?+^bf$H=0wV=TFxIkYwI)IC~L_6X=yqf`3 zCfNx6?v$=S#dPU+T8`j2)WzsX3`K`y-|4Tw>p^Eu3>pQGx)yV!@VLum3cL-yQ(Ah8 z`4fXi(Wgp$y`>8$2946k=s|fu)6$`sUOh2rlz%E=T+0AmrwX&lo&5_-KbD?QuAX3q z#ypJ$8dslTIXin%AZu$b9@TCO2J&LAcrppMf6o7gI|-( iI&hap1y$Nzrfe>uhIJ|;Mym~)H}Ng%n8x-1q4po=(xI0C literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$RelatedMinutes.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$RelatedMinutes.class new file mode 100644 index 0000000000000000000000000000000000000000..b7d91132e8cefbe0c62a2a0dd6a2824f23452936 GIT binary patch literal 1782 zcmcIke@_!Z5Pe%{3+3cT1+;=%6tq2%L-ALl!BiTRq=M2)!k^c61B=(Yju ztcH|YxqDVs9a(klSp`*aZRcH}f?{QBep@=Wmi3p)ZE6`LF(@#8U?19+V^hpl^+49N zz;L5|zfl)Rmrm}>+9&8o0&%UhBLzl%>BvLdt;sUgKn771NchqYJXc_(Q%jLj3S`zxtJLBYWO%i{70~?0GWdm^}s3X0vsN2H7vP|R*QR)f{ zf$^^yNHYEe8A)Ybs-T97>~q7w5Qa%#p%06Mt$70}jvVDq+Ujj9X69Ef5t`w^TLwm8 zq%eRffpV_D?|w_M-_*85q~IZ>%3jm2$!99$zw0e6GtC0VhD&l;ckCeG2X$9q6AdVOhmUb~7K)4dg;YzfIE3rf?ThC#X{Kn{% zp!jiGC+M3a8-IqrBE5Tz$&a*;;UfLA7w`(1&;mML!b}8$MK|mjH$P*xH+(A$H`)%k zf~({xkUbS>?rcEUF&|k`>~}>AAHwoa8j7yy=BX9s&Q_6$#mI_II9fUz5dAOw5$G7p zpL$w*9ZB{ytO%g@q@X0lXH5b!7h9M$ms*%J^DQixnRp91Gm~gxsW-=Vm}4zeSGF@y zLJ4)qD#(UPWKCs5)v->q{K(0JcdW+*$|R&kG1nx@@-S|5b>t3Ltj C!)k&6 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$SentimentAnalysis$SentimentAnalysisBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$SentimentAnalysis$SentimentAnalysisBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..cf5c3c94af8762e8fbe5756a62f85c9815f32bd9 GIT binary patch literal 3252 zcmcIm>vG#f6#mvpti&k92_-Epl!UsC;})yj3r-7;O`0@L0(B_E6lRd^CD}&S25W65 z{mV=6hj)OPbYRL155Plpde)M!Qd=|NACk3a&wk&z?K%GE$>YBP<+g+;Dh|)Pu2i-X()IKa zN7gIy$hys4LQ%X%M`n+uCzNRMGWo$7SdqbWc~cQhAewdg0bz7ilAR;l{NyLus1bD1 zx2CCtW0i!b2zaI}4qRI`HE3#Rdo67IEjp6y5cPoLYr+-k7Q;k(^&Z1yLDqNz6Ie8{ zfL9piO2Xy4&3c75_HA-ldnv27bI)!Fy$*zv>QIoG-<8IgGjia^bl9=gv2xCU;SCd0 zh%mU$;1p2n)WRdFZo|76DAT2GH}0F2IIAd;pbt-$jTb86*?Aa6SH`kVR5kd zPLBNo)GAj^%xjgYioW6u8|nYUtegRhVg0|Cbplzuqc7FF3^yXmxL7O>UE)<4RkmEgo%&w3AMPE?KJt`4-8lO&G0*5E&_6adh(iyo1iXn zwr(Hsf^@64`dX+%`tp?RD!TeR{a``E?E2L1v4Jpba|9VZOJ2U`Q*Ok8+KL6#))=mgW;Ec!vk#}aMN~c z4);=xV`+crQggbyJ(D*3}#dC9UtWRT$;nzX$LsKprk_1yO z9Za*E?AlUirnF~{7WB^`f895P`cHI*MZZ!{wo2n{%cXf&aBR=xo`Dj>^?!R`80JGx zFq{j?y5su`hRdNON2SfcU51O#S7nI%Ii~xy%RRLzJ%wfJDHBxsal~}{rScs5*TzW>;ZhTO#@-C+(@>_}eoM}f)FK8(zf+k%@apev*t7K3 zMg!mC9KB6n0k7dat*A}nLIhBbWHH(|GFKnr^~`Vd8N)EtqOTG_k#Z0p`cHz3v^Q*B zj^d~zX=GL&;mwgj{Qxr>f-eMJ9vRfn5Y_C9K`)IA>Zh3g>)|pv>ZkQeC=5Fknr>`Y z+Tar-#8%e|!z#tkPoY6HNs`c&8J#XOGMz5JLAv>X?i${XNbViVkFK(%zmWYVb4o>X zN;y8oGCh~*S)qrj@_KYB`7SMWtMWa(AHlIpg{3)CgcZX76CY>_`gx2T@I0PWz%zwU r2`z@t26B`q*);Lore_m(Xmy^lnZ-7C+Wc8)JNED;%7nAuM%aD|p->YH literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$SentimentAnalysis.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO$SentimentAnalysis.class new file mode 100644 index 0000000000000000000000000000000000000000..8f177c185b80b739408ccf219e85dd758f6a296b GIT binary patch literal 2226 zcmcIkX>Sri7=8vS6x<%7tzf;ag>JQ5@1wPfC2AvSjWj04bAbsRU3SgxfNB4cpVUNR zqKQAiA7y-JIZ9cQVpI}#X5Qm@uV?1xuWvs9WRZ;`#BjIdRE?S~N{(wAo0VfALg ziy@KU(H5jj*ozD!?;KA^QRfAU%^6sZL9=;Hl21!CV)KgGWisA&dC0fkJ8s#dxJ~Gq z6qb<}o+RK{K~!v0))eS;k9sMX$uhZ&w*&0}M~gLKmAT9CDl?n^`z{6hcDEUT!cRS} z`8{2=>%tR7i)U@ykyN>3Q;CVZGOZ`3E7Z9qj90i^Z}Z>~buz$&7#L1! z*oO#JB{v0Cocjm;R#T)A0bjp3Ln}AArPD5NN z4|ZYikS5VCu$zxF0bySjD)b8)_Csr;w?ntlmHx7ZF=%mwkz}}@2{tpA%k?mRvG=To z_j(}LzG?Qr^|etUCU>)8>s^Nt1*hhg_&wosX4l&?ugF2Kz^Y9|U$IQj<6acE7#9AN z;|vD^?-WBaAZy)0hT%2t$p?-naf-wC2c9JN#TK#?i!-vq_o zw0a{kLQ9xwl9r2U%^!*!BQQr%76Xh%0n-eKGzc?dVLNNa+23`?ak K(|X6(FZ~AbWz<#x literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/AiAnalysisDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..3873b6033d9db3d7ce91b5357afc16e03f35c797 GIT binary patch literal 2903 zcmbVOYjfK~6g}%CR_v&0UbHo#JX+TzYFdTxEG;dL(}!CpDNg7N!zbC^NmXPCB)K!~ zZ{Vl!0cP-Y24?sH{3wRAvgFu_A(rj2@9y1u&+fhV?3Moh=a0Vtlu_4^5!h^cZL{Or zP0x4D=SQ!l@0o2WL)$$v8}@6n6?$gbF1wcVDzJl{!+j0Y0t+v!mzL>RG}>>xkj+pa z*S6hGD1&NCV5xSzeh~V^x-F2mVi0AK4MHpI1Ojuu{HY^@P`1hhDfApeyDiO{*R-4+ zE0l+v(SMF7{n3%JW!9HL$DvEPmNtT75=}jVAhg!#*iK9O0@bzk3GfET12? zsz|EtOFOU|jx4*b$FObBW#CIS$7?sdAIyi+l|I94(Pg^gwWNj>f&1yB8gYs|mT^JH zMO4h!~@^B^|R$J5OzWkUp!)=|&Jp zIT|{0$oCv8$81tdH+0OYCACwJ7Xp=u$PlwUCYQqgNQaJdc}(Ggz%Og36F9zRL}34U zWm1>m|0?Ep+4B5oDLBlP9d+8}XluOnv zVMi~y8tw?(N{zZBo4k*nD=?c3HQbv7>4|*x)U#c7q1j}pVSAED>(WszAiimgbXcL` zzQA_sNDpMxfZYDA5?CCeo7-ap-j%8q1RAOW-=^MaxG*P()F;6cHrUkANsWrhpbxh@ z30zXBVlwE%?N1W;aGi?7(?0Y!0^g?&{8Xiir!?^f_<&tzicj?{GO7)8lu?Z{l5CZc zWao<{+gv2sk|=Zh&f`4o7dXojXOVJ=zcuRAXZBAlfA5I5sD}{qgIE#06{$)Q!4*YI>TMvRe@Q*wF&*g? z&1a&KBDz}tgtH7j#b=aT)GU*4pVQ+D$}cHzQ+`Exm-1`MGG&Ewhw=gCL;79fTf#Cu Q9?|+SEo-#eqs7yI0W0dv^Z)<= literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/cache/CacheService.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/cache/CacheService.class index 6ab02bbba0cc864038a29850e0169a73b96f923e..86686e7adab659488a7c6e05310c112ba20a306b 100644 GIT binary patch literal 15154 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 literal 13624 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 ZtGbFQPy+toUmBOgF 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 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/TodoController.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/TodoController.class index 528e1113d2b3109593d51be0e385f21770531d60..97567f2911f80ae22539d06bf9b94e22cb68ace5 100644 GIT binary patch delta 4524 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 Ik(<2#0dziiZvX%Q delta 5262 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 literal 3007 zcmcImU2hXd6g`u~S;s654G?HcL!b^g4rTlOWs){A4RJA!L?RIC)7U#CL)JU)?rfy= zxxb)K{TZ!9MMb6lfc~hecRUU_-X*pam9wL}KKh#X8X zoO{OixfgK4+H5`(EzL01mSLhrT=N-b>aYLb(h-HMFueCL3AJpCTDUJ`*$l*L7%I)R zRAFqk1ghOsd)_?}iimRYX-iH^9SDXqzKC0q>=<8$0*_<46AEEMxrd7eZ7|IV3@okL#bC7#!HKj7$&O97X^&tf{Sx_n_;>xL(xdu zO%ZK#O4wv+kRI_!nsv`Op?4*{!ISzaF-}RhOKC#r7iaO7NwVZ(+N6(L1`qu}#KpQ&dr7BqED1+8ZXa|+hWn3w2pM(jK~#AVY)Mkh=}CN> z$2#?Jnt_z1cTbdF-3QC;)_hmU&7@Ds&GJyaYkvRAXnEJ!in*B{s`fHlB+;*hbV*bL z+AXMaF25-U2R|?@q$-fbse?Mh-0`k-W7q=FDQeKIxuIf>YotEo)ZldK8pWiQLo4&l z({s#dXUaw@nzE6erfj6FDH{o1%0|*RU@K5;y2B`be>UbIdgRIInJd4*`9HcTUZh_G z0NOB1zpiz_C0wQzi7MX70IHB}jQ)4ZOMl|s^6xYq!yweGb?HGFmMll~y)Yc~%E+LW zWIC?HLFYyWwN;|8kKv&6BZJy9Qwt9Vy*@Ii?GuKxC=%a;6+cp_g^@vRqtRE;@Jw%x z3~D=-VG-qwOdHe{rVWdKW9doxId#=@T%j>XW1hx!8VfXTzQBjs{bpOY_^Ne3!p9kL zHi;t>$6#f~_zRzyFfZ{Ha9p5;UZ5QAblZRV2>B~y%Tu7cG``0@TFp>0jJ^pr=tXO| Mj|aqUqq}qIe*$T#b^rhX diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/CreateTodoRequest.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/CreateTodoRequest.class index 83521dae7125f218b83cdb6d1cb77e8f743ccc4d..e75495105df2cedc19c4f91557ab20cfa6a7876d 100644 GIT binary patch delta 954 zcma)*J5L)y6ot>McNW_$g4nSWlYp03fB{1s2;oiKq@GQe!}B-wD1gI5@`_0@xABccg{WMcdq~Z z`?o&;U>1^o@CY!S(erXa;~Cx1Ib22(7y zq-XVoio_3I0S0d=Yl^HY=<-4O7Ry)y^yRr$u$Y<13J^-x^^2B)$X5giFBCM3=h-qh zd0J(&nx8)p1ksT5B3G?6>GvgKRIdN|0ZJZ?3KUVv%mY< z-h7I29#)UlpJiso;Hy+TL=gU}Arv2!AKj&_Ev|<&9q{;=j~U zteU5kJeF&;?m#L2RBT%Zf40Epkvjq$uF!#+FDLbkqLLUZFlukD+q;_)`}<<~M{MQO zwm5-RgX;#jZeynQy~lQO*IwVYw~K8%?oSuEnq`InpG3!#FUIt-7Vghgz%ljXF0&Ha zS{pitlB%9h>nrkgrZEE#n?)CIT+cE;oEG4t|0%B^jKLWZqA)IiZ;ET&nns#M$Cm{d zNOFy(3i&iMmK2;mno;V+vSM)ByFxL?tQ++?K7=)FndCkYKo+4Fe0V17CdcuedBI9! zbpjZ9iKda@Ul&0n_=6~%uXCMLZ-_8NsspH+t&x~CZ;5b(Gy@G9;w$Oi7U3A_f&^Hl z<2 zMuuJE)Yc;{q@AD~1rQS&axt#rC^Kx?u@*a*+<4{`Ui>#0am9p_cxbw%@Y6vp$A3TW z`cWFdr_Y2SZU7E|Fa&jxhx+H*hVhMRvONd`xEV~qOSB6)p2Ofl&#D0~_nUaA-7eA~ zqPW^a1aQ~^2sxqm%RNK|*Nbv>;g2@tS`&GQ8m+eBR$Dp=vZBG(t-&h|wl$H5n9^YD z20YPVTN4GL4@Mw@)+e!;KFs(OzDMziqKtll-(l?IC-CZHTzf#mf3gCsSp*x_99f2-&2lQq~pv&C>UFirk)g90@ zywjoBGu;8rb<8N<9T498&&}uwT>Zu2N}WBSw(XC?wKhQ8C<~x}OhO>(YzZc$SP3pj z=Spx%3VTa%Sqk@-U`h)6N-!gZ{UwMu#~X6uEmUw^x*?)-vk*sP?!7@PntQr=V$Ljk pofS=Lud|{#^f@bg#^BXNa8Vk-ov?iANO9`{{vx*lxF|{ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse.class index 56c3473feda35196bcdd192a67b8fa2c7e0fad6c..f7b22014c43ed043ebdb0eb36de4632589563280 100644 GIT binary patch delta 1686 zcmZXU+f!Rr6vn?z4&-(cLTG?f3)osE96+e07E4h>xyz+AEd>Q^N&+NuvEhKCR$8qn z-dfq-ZPlvvS{2%!!;GD=FOCn+IOE^ZX&?INi{sim0nGT4-*>+Kt+n>qJ9B>9ePzGv zkAHso6+j4UtF8;SJx*h~aW*~?jU}C62&%|NjteEwg{okf3w9wfL;uF=K@flgaJ z;3O3`BE~GmU8MVB$(i`{6oV~T-p)@cReKro$nT8I7+urR_-H&94H*n7c?XiQh!Kl6 z&i_BsIM3DW5k8+i#&2dXT|JpIWK*7F=;ePon)q$6hgZA&>?A+oY2`~UO*zHTC6{jG zI{mb%P&_<4IT=aL+wpR$s+ae<{kBC0d7dlofNd$QJ!(LClc7h}C)9n)x%G!z>Rk$F zI3!nkJlom(H1HVvh<@AnR&SAVp5dTe9LiVuqPJA}oMBWNx4k>r7ktIv$_H{wl&=_u zrF|oJoAPxk)5~joh03=KgS67j&-pav`_w}d_oxp3x6iL!W;ibE5_UHq&I>3%tsA#g zH~*cC6^3z{=<#^@E`JfbLPOj5vcH&JBNbCDhNuh-<#Xoack)}=R(`r5e_;_>^v?ta zucKsO4R`C;P-dZ=P-)?QLXCw72(=a-B-B~hM`*C{2%*tJ6QRXI8==EOC!yQIK|3ODrIH-VnK;}-HoK($_)2-%H=n= zlx`$P(#hJ4WE3&cHLLD2_Z1Xxghw$Zhc#q`$J1_Oh8s^eZpm;HX}2T8eF_t@Z+C_} zi7DxZg&SCZwP`#J8w%y=oZxo?#jHQ0Y6tG2s$$z3lKjuY&AJ_!*{Cy?i;5SLdWDHH zz0yRbUS*<2*Ax@AdLY|Gov!7WXwWsgiAG&>m}t>8r-=?-bD8MYHMfbduBj&aS7{@* z|6Eg^yrwhokl&HMC86k}EU&Rcd}--o!Os_sEX-0$UMVF4C?ajcoP4!s@GLPwedej| zdHUMEKzxz7Ks-%+iFk(i3h`CqYsA-yZxG)imJr`2o+Z9RTqeFte2@46@k6i{d`#jK wGA>>^Nl7?KO0pC#b@2K$))buQVq*gyun^kIYm8#8u0cHDS6aWAK delta 1144 zcmY+DNmCP16h^;C+N2XY2?+_85|%$kU@ct}-91sO@9ud7x zOWnIstIH}DQdqiirT@Ua3x|~}^>!1mvdMYx-21-!x~ucL{6lHZr$3YL094?a16cx5 zT5XTMinrRRTwdaGLSVUqd9c$rNAniBPfxWbQpa`EuTbECUBJPzQ9qG1-D(B0>74B1 zsqWP2LDQ~P;N*lcIoAr@sKAA6dL)-v+j0d8+%zo*D$M3>3OsNNC>#+T(7RK5PvwwV zs8rxJvwd7>=pIZpCVLXSiP>tkf*hXlTRv=s?oi-^pW2;$*0xbWE&}x4dCS_iCd8c)CP4o$_>w9=5%R9 zHe18WGMcxf?bZytJsn(;VWVkVm0@cTvvO-QY#r(?+hE$@?4#|(F4&OIkC}xg`ne!1 znlnxF9&nSxZ*%Zn4n2u+j+)?@haB;UPe1tw D>@ViR diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/constant/EventHubConstants.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/constant/EventHubConstants.class index a1c72f78a7084b4fd008e8b91a3569e8e5e9cf39..e489849cf8495865bf45109bf42b34ce2e19268c 100644 GIT binary patch delta 399 zcmZ`#O-lk%6g_v;>18IkOQb>yDogvY?<5%H5d%3+&QowT3|8;C-e)1 zASeieR&Dx6(NiJYw7KV9&c{8xSN1WR{QQ1-17M&sOg>R_g}1mRT+z0MZL{juI2WdM!LSs4Q8t$+#KYh^nDUc&hSeyh^4Hyc9IZqZn-|G(gvaiDIM&0HO(H?hZD2~nydN+jhlo|D5 z*dZjspeH*7y&`=Xo)cp08!hFi2GO0S>jx?9VlR5o9w{A_V(;B7Hlc$sqrOPP7P2V) w*|!y=jT{QgN>Nrw3KNBA><`D5Lp7611S}$sWgMwjY9hihPSi#?Ra3*+58d)nV*mgE delta 213 zcmXAj%?bfw6o%jP`5V)?07UsI<^O*#CMnFMZ(}71&BEBsoqP)y;07qAD5b2p9D6yk zd7r2EoKxo!zH0jObGZTNpncR&RES8+9&~3T)0Bg8UqhS_+ANoz6xCbo$xu7r reMk_$280s7(qIxZkUyh*WD%%x>P#RGKN6_18UH2J`2g%qPJz}J%UUTI diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/consumer/MinutesAnalysisEventConsumer.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/consumer/MinutesAnalysisEventConsumer.class new file mode 100644 index 0000000000000000000000000000000000000000..adc83587225b13bf80662ed47ecfc74f5ca68af9 GIT binary patch literal 15834 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 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent$FailureInfo$FailureInfoBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent$FailureInfo$FailureInfoBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..26e78fe6e6ef5f64a06ac65fc9bb55a7837f3df1 GIT binary patch literal 2524 zcmcgu?M@p<6g^`;48|#xP(DIJDTUUUl+9P0CJt@DDkZ8(rGjWme~s-4OjysLnOP(% z^*!ORMP#x&{3G(VCeKg9!?B zA}g0vNlNhVLb_73mv(+H7)JBxLbsn?%cD1*UC$$jZicY1dAY%So<|?@M0C~n8pE@~ z#hhQt;!B40i{LqjDa`o3`-^O(a;hLHx} z5oN7v-2E=yHqET#%26}_^3frrPh`lg>B!W?vh+7^>Qoh(_W_eoENShmGkkYdxNTjx zIo!tGEbcH&AEzYMp575boNt`RGOsyp_I-l)7+xmRXnDtgD_qq>VW%rv??k($bkqsU z2OHP-cSRfbKNJ43w3U*@Z$XrK7_LbtO8woq)r0#C`t)ifG<7~PZ)s}bNIMtU&B>(b z`E^tE{NzaX7T7F_;}b9n%d5phl9u&BRtMu!^$N@w6j7Cx`47UL)ku5{-v&Fdsj1*tdG=q~+ zej~ZGp!_V(lfH3hgN~gWG%gg~-?Kr-&kY(^npy=nD2tPIJWhZ702Aj1jj3XoB=Xas zOD!Ho|H0HB#Wz&eHyER5oSun8Ot&v`%-84OugiVqAjOb7 z^pAZn@CoRB^^n&LLxyXubXnCoL%!0DZyQbLy<%|Vgbf~seuHw-H9rc;W;8eY#IFXl zW_t`yH4;IcYlfrZbmb;GINQzJ_F;6rhg*>}qDeg-i%`&YmZen2H$utKb`+>)RULWn zxa8U=VyGl#yLE7fq4A&YnMDpmE`~9}(DzzMVcsw#i_^OdgB2n9X4I^5z0+nhUr{wb z*!8ur`;OCXaI?~#)G%>;VOALs9WK)7qaMwHp#FDnWD>;T;NSangkjGfbK%&t`zcno zDzVO|F8Zx=K!jUe#Zd2iHu~H}2H7l<7-D!?yx7xqJbRYM?6!(@jjswT$camz#k^&X zguO0F6Xn1ULmoPqXIT4Ja-eq4JUx=(nO#S^MAIe@&6)}g#)*j}{Q;zqu+yVe!ZI0K zA}_W?6IqAo8h}gjTeRz=y4z$2>02b9{q+Ap?!zhaUud1cUHY|Izyj{Y9?}%+1-a#d}zA+ZqK>5Z{Lr@v%jDI4qz7B3A6|la$dnK zx^~XW&XB0 zF$+ZOg|_Dg>J!H+Yt|S+6!70U?S6 z==SAzMHz(BSK@B^MBi+dw)Ja!ly)=gIrSez28onopm* zdbI?tF12IXPSK~EHkzkpUSlr0J04YZ+^}6cyeZI{8r~3S%XoR2L@W9Yyn91RS3FUs}mJQ3d)jkrog}XLA>ow2JMgolX|B#9Y(C~k3MHd7v8E8j`S`8TJ z(yKuONxiyipj)p}1`NF#G0=k!fghtAR0+A$xX9ZE&Y)La#58agy#mit&GYAp5I>Cz zzGL7e^a=dg#A}u3)M?!5Jp(V}oIv}ws=NZ(RP(GzC-9-bLbIw|5>rU4;&MZXyH%1m zp3cpcR7tZJmi&J$?wbc(5qT`&ouQ}OsK7Y}L9DqZ@iFESn5}5c`U?XY++x!?u$-b? z*%7!}{ye&Qr>j8rkzmXlxPt|O^95^9W;{1%g`0M`%N6^j8?rV0RSp()`nY-jH%XQ2 zl2xpEML#F!ZPgA3YBs7d^#Jtsoaco>=v(_sGTim@K@v+?NnlxE@c4;r_rTkergn~Y z;=Gj$J^xU7_pZQC{W63qFCRfB z{VRc?Sa?@=mjqbahW`$mGvWu7R8^qOK_*=PR=cgNyTL3 zR52OZRZK>n6_b&1#bl&AF&T+ZOh(oaldJB(U;Z0Y zAM|p=p!$JW6YGOsX&6+$FoU)}=upF;Iz*V@^+B&S460*Hpr=0QaKoTFNLe0mosW1j zj4ED#v|&&kf)oCI~sK@JBI?*tw&ND$q`))nZ$%a97q6)l^52}FPi!yKg zH%x7fJYrHk!ex#t977z}IEFb!ImS39I3}N9x_avAEFM3~;u+kmqBGB&QJFtYtQYG0 z6(1>;dYaJFB&Vmi4b;*;9cgdJVyQfQQV~a=Qr1cBpK+{Wox1_F;d4^+O_ql*IN#$e SIN#^|CBDYD=!aE8n)(Nc`myo= literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisCompletedEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..7761e191dee5661b4dd1015bad65a6995ec24aa8 GIT binary patch literal 5916 zcmc&&`*R!B75=XCkSuTPU?{Bs(EnV9iuXdf) z%GBu-D72+O3w_bopU|0hrV<&L;a6rD{(#Q(e_{B}T^T>5*lK4($1}Qj@8g{Bo_o%B z&h>{MzxzIb3H&XA9)+`IznZOkPT3EZ+?lU73^>3G7!meBEBNv#!m}7Z$GTa;VU2_Rp=aYK6h#=6op( zsAF6qVHOlBTw0A3NIzw_w8+Q7T4;y$nnGWoZ`5@y)PW555qpGSf{N0S@X)F1Y|$^< z?ioAObNr%?UKyp3>MDf=x>k3&;Yu;Cvkz~WWY&n5LoM2lTMu~V`S`R*~tC2fph0)kf&eQJC`xTvn!sjh~0cl!zq3*a99VpxwiBHq; zu0DP`QaPT){R;O@7iKQaO_r`r%uE!olnSM5`3ut*i<5JcXHpo#7ZZ3;p&FZUy8&k5 z0FEfU)WH)zYZIk#48sY0X&Wb$))~503lHJT3U`(3K|tb=5S?~h*P##Z8yP(}NOl^r zFp3N>yK1lKyziCm@Ujywv&SIzLauzc!x_(ww)?wW#R&@u9Fg857Lrl#D;9cjB#FmJ z4%_bSYZg+`lCN9nlioM+tpuJR7(-s|{9<7oCyCwjpI5k_&Ul-3)9PV2iU`M6U4f4qn{u!yQIqqm`{WCBAzZA0$(cByoZ1c50$f zj41IL3wL2w;e!}m>(1csE)6i+XX~CsaKT%1Y7Xyt!t;FADh`QC${p9QF8C|ir?sa8 z=IV-}fO!j-@hmNK((#-yXIO7u!CKOxsidM>>7ETDG1XM7TI!`)zauPvkQp&t7Ro#q zTbR;~QyUlx6;WjiaZ;5)YvrG4q9Q!Xi9?*&sC}ZDCE-=h^m3+Tsx}dHT}YLq{T!X$ zEa7B|>7Z|8D!*CJ$<(TF<)KKuWC>Hi$wW=qiW8zFD!CM{#u(5$2}^W7FT8j-GSR2; z`)r&_x4N=u{DFkaU<&&%uhhl=l_}aP?hb5nn>8JB(`|EGY+kt2_VEecYTr=?T&m>P zgR-7-gszY6T3{&&k}e^VR+Mqj<@Eo=xh|SQSmZm zmqR~Tm#XGvg}1lfWovaL@T~1sTwNP3`u<9Nb$r*W+O|v6TO>peGFBIDNb|Pq zmYh(J4;;h`N&G_L-i_DS7!ytO#2Qm$Dv4JW?*4Rck?#>*kqO3V!6V1zUAtD(wFF*Q zxEx!K+F+QCQ19P9kic&g=3>*f#ZCCc-1gN~T1en`3Jn`dlLAo!qT0v^Y9icx0K;18E_w;0x9%JzGJUPl96ed zdrZqrV_N1G(=w5mmRZBJOcJIgahsNO%65Pm>TcXa`Jdz0-?5*6z!SG{@8Eq+JdnAC zqwnHjpo!y|CdQ68ksW-riLah$;_+MfMiWn(->1f!INikLKaA)Ce;;GI0!|Y4lT42} zsyM~B>Qi`t|7|&n(|q>iaU5sxC?@eZrueWpiF4eMi2z7Sk+~UnKNr2z{2&ON2g0=$8on{C@#m>@Lvx zaOYu4JdPZ1j;-9lh&dpTd=Eoc-od3!gGNT^H=4u<{GScJ-9bW@Gh(g-nSbHx&h3ZH zb}L$d@8Ww#(6v1UJ=dL}g*^q8yA!1M6tvi#pyfRUIo%0b*;A0)ogj~n-hS^}Z_V#c z(2YF>1>Fe>QQrg6T6coJkM%tS-Rw>fp9H%KdIvxJCq1_Z!ZcA}40QDD%lJ_TK_79f zk2`Z23d$UB;A-YX1J7l~8YpMd`x{uyqz^RUWYPy4a5L#d1AZo*Y#_*_dmC8Gq*D#t z+=<|@L9iN0Zp9XL7{Zo-%o)m-(9Ick6GG1!b`#3Y$)kX4r6)Wm?3a_0pSz?d^qn+4 z;l5te6DmoOFMrIh9{dD9W!ul*D~#`-o8MpJR~$RWHLr2(4et9j+c((`v3-l}Z}EHl UkyP|H*U4k*HT;Qd{(_-T0K-E>lmGw# literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent$MeetingMeta$MeetingMetaBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent$MeetingMeta$MeetingMetaBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..51bd75cdc96f7f459ba1158a83d2d13b1537b952 GIT binary patch literal 3374 zcmcgu>rxa)6#kmq$T|u^qfrus0J!?w-4+^VyEijERFULY zo+6c}NUF57v?>pfhq7{dX9{PTapi~M$INt}IsKjcIsNbRr~d$$$9)G~45FqRUZiAA z2g=*o{zU}ZYY1Va+V-S+5O7cI3uU~z(cZFDkrCm%;{HJ>!!_}9Btmn`{-0Qm&nyeW z)9Zyu`gIXF=wTS#<@?<8IU%oZ?TVUV=rz*#f?=ro;@`RnNO*~1cr8*!Hbh13%TR9l zVqPh2xRF|g_K2?=TYAsCEtCkj5p_CpI#K;5?HMk`s20Pk>KgYgd4qPuIoRZZku}-m z%9J$;Vqg`9fqFz(Bq6btAa$_Kl_bYh>I`R7$0~JFo$nwyP%+B=X9y#jG_`CnUWe z3~#&WMIXcOi5@wjJ4tn}xadcLVYgU0NwM#`I1ShOW5UImcy-mqS?ihKia7~)lFCiF z7{DNv?v^cWhRx#tA-&|_J%+W{pZ5jKz_V5OKEvIdY=3FXs8q70krxUo_ftm4O^o3@ zc_-7_3iueGI{2imCB`RQe1^{%oPF*`V)X&T)wGUr+brcmeu*0nY-4MQi;VQW`5@p2 zp^G_CCvxjTG&c?vyVjORF9#l?S@Dfa<6?o~VuSCAvQ{;2?n$#ltI$yUqz?5{TFaz? zXYI~&VU{b$I)=i!j)Iz4l(tunb{Isn)_n59g4QN90dLYo+R^o}fZM1zSfZMG5f7>M z^`7uzg=51OdClnHz*>BV;g7Uk33m**#8urF;Y3yIy{K8rnvtTk9o#r*iX8TID&<5Y zfhcp|UzbLd2Kumg3d;INOqG&dkeIAA)bnqR+;_Ins8p|nrXnLl0hgXgbhRIB<^P=Z~igu(kD??u# zYAWv)y7esS&|r*ObT<`9AG++^qMg&)5f6R4?C{9YsIzBi)Z;TW>h>8LHQpn%ev(5s z3X+wUe2%CdaWeY$PCv%^zgy~Dptl7D#&MC}RwyyxEnK26wRBw00V)x#i~c*)*B@bc z`Y&2`;V9IFm?eQC=ENV2eDDtaJE~n9=*Y1_V~0}oG1?Jy_z}jA4H`#;;moT+$Bzvf zhmRXjFmoKy_cxSj)ghf>*Q$>=l8+@F3(3Gfgj^o-Fn zPR}Gg#mAVrN9v6#l040%he|go+?ysbxV{@rob`f=H7B29U(~Yuk=xu${%-DTzLVkKzwa zY)CZm0emRqnQaY)R_G73O?zhMob%1Od~<&O`t}3B5*8x}Fl^=eW|^D}3Ot zW0g2pLKZ9`-?+BL54luUUOCpfkY&ZaC21Gmd&1k|@52#i=jU)9O`})9@DMLFuLCq3}eu$d{yal%Ebo+LtLhrL6PTdd?-MBzc}(g3C^x zM=-#^|4Won#4u=J2yuq+f{;QjGPI>8cd7IlA^AqRl;!S@O~LDkb<=ijSLl81u)V<5 zPL%>Ns%--aI>2zvKnP*VPVEWGeCHo@fNIx8k<YudgVbZZvLkiEeIm+bO#_zAAKI$Ici5GrFM+Mp_a{my5RNaW8_$467Hz zPkPXGLx!qcx2wG*hV~7bNNbL#aGeU&MuRSlfTk3!0=kF3q%QfA+Tly8y)UVnBs=Ka zjUKY^rCpeC`bhTEFGXki)BYW?S4X(~nbrYZp?_@!+`zDZ0@_{0ND~B$G}pmx^-@iW?D<_Htw90 z+H7k;G~UhxI>Nm#r)rdF+O;9vZvym@&LZTWGzrL@s$kTdt{`EKRFEDx!;`6!E68k literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent$MinutesAnalysisRequestEventBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MinutesAnalysisRequestEvent$MinutesAnalysisRequestEventBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..1cfadacdd9469e04b08d8c4aedfe3a1a917ec2e5 GIT binary patch literal 4795 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 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventHubPublisher.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventHubPublisher.class index 8cf86c992261a08e2493cf9348c34293d6f78775..b8d1b5f2dbe331ae23e538727a3a02625ebe6251 100644 GIT binary patch delta 1614 zcmaJ<+fUPH7=E6X_E+GC%24QmGXe!#L1k8pr=lPz1)(Tb6s%Bd1q;%afrsH~ZqA*u zFV1AnZFgR{6KWvJl+9f%*_LbqBb(&qQQ-}Ali^FHt4&#v2n z72o~+@G$@%&ucIc&FX?yJ?r@>zr1KXd2}=yKkkpll8JEK7YmI}$D{F{@Tp`to*?!( zRj%3XeC}(@WH^>+s@b2#0@^fMiB{pQ3q7AJ?XA;}211X76H8w0!xk12*`cUAw3OV! zV#4Zg@7&kh5*YM#`Z|Jv_P}6IOZUE(KrhjjlH~XwN$ThPK9(z2!RDMYlxMMwl{%|f zt&#=9<{H*%tX01jY%;p&Ru1b~b3NB;Y*4qX4aRj`uYR&_=Zh-W=BjO^M@Jzy604jY zCqk2<`q5AXR}5hk&_NeCZePD{?NG2 z9o(tz+IFmLB}|F2@#s(%+qhd}JK<8xS)p9^Y~vnwD6ieiPL;HmaId;xOqs;ICh%{ctqo%`q5#n45eC~m1=c39uGxCmXSj` zhj~!4hbJb+CM-Or^ui6gpT|>mMu}Rd`aQqs-bi7;fx7y(cnxjpkK(;KrN}@9GO-%V zP^khX!Q2{{Q40&|kcArLi2g?z=jSK!!H^-C0iFcyFeQqoMeS)(IwcCv+?%a1FnAGG zT!I6aQHobki7P_!s!+TpVybrdIwR79l^Vj_#)2W zI?m%g@w_fCHgJfAM@Jru=HQtX%mBN5^Th+WDJ}m% z#&}DLyD826P}HT~(y^$9Q*Oe7CYA`ZK^o?j?^D4HEKOzNZ^Do%_a`$8EDO%F!ZpX$ zUQ_LTRM<>&bb8HVR*HxnKE!|t(OILFW*!4b^ zEzlp#W7j;p7t@^PIriLzHIMtvk6;WM-GN|+Eh7*#&A0*&c)*C;X!4rU9{ra8dbk2X zb4t_UKv1)p#QUfb&*;N8(>x=Kvr;2uDpxrm>z(RSk1QK-N7nBXS-(57l%L5AKSw#f zfE)L)1@~oH=44j$PT8f0IDrM(f-iAF&MSB<16srld?g`^;`+7xzEOWw*@jM}Q$68` zc%+*Bgsoy3)7Ge18Io$6CmEA5SrOwH$EDHb80IN?)g*b46O7AVUc&|^n1qR`!Rya> zWnhzPs=D+@nZ`B^w>35b|Hwd18mPgTg3^Dvaliv3Uy@)0r#LO=3u2v?*`5J;wjYuv Uo9CY4vTwb7StdS&HqIdPUrWDBCIA2c delta 1312 zcmZ8gNl;W*6g{V>58aK1Fr!5CNf`GL$icL(Ke4 zQk6x9G8Ix~hEgohP>B_mmYb~HXPK&0Wto-9X>^s%|M#7L-?``Bd;WCqKV8o~eDd?J z09u*0;3C@0C9Cpw)0c&&EVR#4NHm#bxWq(D?4^Ddpi~dqL55jm7D9vB#aw2wgjlPr zGIPL{>kTr><>rL_s;`XY7FU=*?FM%RD@}2DGpo#zaBU#Qnjj*qB?`>fk-T74pPwdL=5Dy6d^O=oUzkV*xR#9;UnFuyl4q0kXVSx?^&QEHAe*?({2Ol1j}zYX_{8vl zpUvE8v4yCWluGkjk>%dR&E`r`e0duYUc5h=92=_dIWv|XK9x$GA4pB4hsVdVxW)WY zRF%`p8b6D?lOImHeW}OK6aWfB6Zwj9z}NgdbrnOuZa|g%J-px@DHWZ z9jU3Q<>{k5_RqaGA5?F~n zSc`7+d+FmupKk3J*8v3KAQuNwh<;Sykn|mvk|WAIiuE|AYDu)A4_h!G{y}l4#5;g4 z95;WJJxYv->71maU36DSa(n2 zBNe@bS8xNb;}d1wz=!zMI2Au!bg7*!mKtXbCOah2`4&o!Fkv-A48XGdQK*zh@)%(K^?W1(mS?yj{OgAgKFe5uCYhn3oGuC6M&oY#y9dt;-)O~ttLDzV}6G^+>(jD z*D8P1B!AM9?`SnMIE%ZQ-;9W6HN81}hI{%tC-gpk!@Ri_vj>hWmRjIZWwHmqe>T;k_i|FZm1%`%{|AVR B`}zO? diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventPublisher.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventPublisher.class index 5b2426083700ce073e0e0c1b4dc43b5eddc51efc..135d027100062df22e14cb292677c260fcf5ff6f 100644 GIT binary patch delta 112 zcmZ3)HG`Y$)W2Q(7#J8F8KgFH&16xOEhtUO$t=$B&CDw;NiBBFOU$V(&MXc}Ei6qf vE@5Qwp4gx#g;mbAEH$rW@;nwpM$X9>SUiMS7#YME#DPXLGDrYPCI(3W!i6H2 delta 40 vcmbQiy@-qJ)W2Q(7#J8F86-Ax&19J@$g0E0G1-pQgNuQYK@2Ft#2^j;?WPEU diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class index ab3879479d78a0ee184045509d40ffd6c754fac8..d73faef3f58e9ef8ca3a265e63e114669ff12d74 100644 GIT binary patch delta 457 zcmaE-GE0N^)W2Q(7#J8F8D_9EFirMn)7of$g-21gpfo8bvpB;yGq1EHwb(H)F{iRP zvp6WVur#%}gpt8}@&;zTM68moWvO{3)|z1)44sS&#?gNH{splLP;(R#p#~`wK}=Fe z1*x`D$b}f?nPOXA%f-;m(96!y!^q$^c_NdJA#PiE82T907#VodQ%j&0c&0Eicud~N ztSg0E*Jci0Ek;J}$;Nzoj1rTR_>34OCr{;bW0hs#W00HtfG>bm3CL0gvLq+_@td=% z19=)?-eMq62guU}^M3G~vKle)Fc?oZ66j*J0J1D69~5X{wFR>5Cc6oC^ExwdGq^Cw zF*q|QGq_H^CzvhA$k4{n&cMjP3k-6124)5(AkDvtK}4uSdmBU7ULXrJ m`+*9X7$yLfFfmMIm;|K7fLbO4=_x=w6(~C`nt`#HVLAXp$AEkQ delta 199 zcmbQG@lJ*J)W2Q(7#J8F8T!~6m?rzPX>ByW!m~MvPo0sGYjPLA9;5i=o%}|O5|iKX zyRphJ@G;0vekdS0IY7XiRT0Qj0`ryvd1^qOI*=E@stsi6fW`dW(cM5j# zngdxD4B|lBJQ&y~PZTtt94_R@Y6BFtojg~lo7ahfo57huj=_mRnZaeUsc^O`6GIzN gH4{TSLkEx+V_;_J1kznV+|9tq&=bwTSj^B108;8J9{>OV diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/AiServiceGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/AiServiceGateway.class new file mode 100644 index 0000000000000000000000000000000000000000..c1e35dd04c2153065e98e25a7a7a6f441ae51c39 GIT binary patch literal 7870 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 W$!t&2f2WE(_HnM5CN2?|A@{$p)d|Z0 literal 0 HcmV?d00001 diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log index d4b9cdf..cf21f39 100644 --- a/meeting/logs/meeting-service.log +++ b/meeting/logs/meeting-service.log @@ -16582,3 +16582,1635 @@ Caused by: io.lettuce.core.RedisReadOnlyException: READONLY You can't write agai ... 1 common frames omitted 2025-10-28 11:06:19 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 성공 - minutesId: minutes-draft-1 2025-10-28 11:06:19 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 1099ms +2025-10-28 11:21:14 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 39813 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-28 11:21:14 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-28 11:21:14 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 70 ms. Found 8 JPA repository interfaces. +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:21:15 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 15 ms. Found 0 Redis repository interfaces. +2025-10-28 11:21:15 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-28 11:21:15 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-28 11:21:15 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-28 11:21:15 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-28 11:21:15 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1185 ms +2025-10-28 11:21:16 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-28 11:21:16 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-28 11:21:16 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@5030997b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@5030997b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@5030997b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@62c47480 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@62c47480 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@7de2bdc7 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@7de2bdc7 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@683ed81b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@683ed81b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3c116f26 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3c116f26 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@3c116f26 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@1554eaa4 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@1554eaa4 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@48c3a0ef +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@48c3a0ef +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@e2f6e13 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@18b30951 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@2697c156 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@533d7c61 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@53c40ed6 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@3a6b94b6 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@22ee7fdc +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@1a88d194 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6949cead +2025-10-28 11:21:16 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-28 11:21:16 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-28 11:21:16 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@23cb8fcb +2025-10-28 11:21:16 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-28 11:21:16 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-28 11:21:16 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@573f2e67) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@5d449307) +2025-10-28 11:21:16 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@44e7c06b) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@24a807a9) +2025-10-28 11:21:16 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-28 11:21:16 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@64921450 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@64921450 +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@48c3a0ef` +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 11:21:16 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 11:21:16 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@75a6bd06] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@6b170692] +2025-10-28 11:21:17 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-28 11:21:17 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@75a6bd06] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@1912ba29] +2025-10-28 11:21:17 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-28 11:21:17 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-28 11:21:17 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-28 11:21:17 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-28 11:21:17 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-28 11:21:17 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-28 11:21:17 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@1912ba29] for TypeConfiguration +2025-10-28 11:21:17 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-28 11:21:17 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-28 11:21:18 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-28 11:21:18 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-28 11:21:18 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-28 11:21:18 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-28 11:21:18 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-28 11:21:18 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-28 11:21:18 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-28 11:21:18 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_8e11be_1761618078387"} +2025-10-28 11:21:18 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-28 11:21:18 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-28 11:21:18 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 67750890-8908-4c56-af29-c8c6c372f8f7 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-28 11:21:18 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-28 11:21:18 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-28 11:21:18 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-28 11:21:19 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-28 11:21:19 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-28 11:21:19 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-28 11:21:19 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.903 seconds (process running for 5.131) +2025-10-28 11:21:31 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-28 11:21:31 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-28 11:21:31 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 3 ms +2025-10-28 11:21:31 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-28 11:21:31 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-28 11:21:31 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-28 11:21:31 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-28 11:21:31 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-28 11:21:31 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-28 11:21:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-28 11:21:31 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-28 11:21:31 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-28 11:21:31 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-28 11:21:31 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-28 11:21:31 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-28 11:21:31 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-28 11:21:31 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-28 11:21:31 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-28 11:21:31 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-28 11:21:31 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@111954a1]] +2025-10-28 11:21:31 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-28 11:21:31 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-28 11:21:31 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 11:21:31 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-28 11:21:31 [http-nio-8082-exec-8] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@d3d6776], /v3/api-docs, ko_KR] +2025-10-28 11:21:31 [http-nio-8082-exec-8] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 478 ms +2025-10-28 11:21:31 [http-nio-8082-exec-8] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 489ms +2025-10-28 11:22:15 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/todos +2025-10-28 11:22:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: user-001 (user-001) +2025-10-28 11:22:15 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/todos +2025-10-28 11:22:15 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 호출 - 파라미터: [user-001, user-001, com.unicorn.hgzero.meeting.infra.dto.request.CreateTodoRequest@34e832d0] +2025-10-28 11:22:15 [http-nio-8082-exec-2] INFO c.u.h.m.i.controller.TodoController - Todo 생성 요청 - userId: user-001, minutesId: test, title: 투두 테스트, assigneeId: user-005 +2025-10-28 11:22:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.TodoService - Creating todo: 투두 테스트 +2025-10-28 11:22:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - + select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.todo_id=? +2025-10-28 11:22:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.TodoService - Todo created successfully: 36b307bc-7c17-4939-8fc2-9bde565bca2f +2025-10-28 11:22:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - + /* insert for + com.unicorn.hgzero.meeting.infra.gateway.entity.TodoEntity */insert + into + todos (assignee_id, completed_at, created_at, description, due_date, meeting_id, minutes_id, priority, status, title, updated_at, todo_id) + values + (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +2025-10-28 11:22:15 [http-nio-8082-exec-2] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 23502 +2025-10-28 11:22:15 [http-nio-8082-exec-2] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: null value in column "meeting_id" of relation "todos" violates not-null constraint + Detail: Failing row contains (36b307bc-7c17-4939-8fc2-9bde565bca2f, 2025-10-28 11:22:15.691895, 2025-10-28 11:22:15.691895, user-005, null, null, 2025-10-28, null, test, MEDIUM, PENDING, 투두 테스트). +2025-10-28 11:22:15 [http-nio-8082-exec-2] ERROR c.u.h.m.i.controller.TodoController - Todo 생성 실패 - minutesId: test, title: 투두 테스트 +org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: null value in column "meeting_id" of relation "todos" violates not-null constraint + Detail: Failing row contains (36b307bc-7c17-4939-8fc2-9bde565bca2f, 2025-10-28 11:22:15.691895, 2025-10-28 11:22:15.691895, user-005, null, null, 2025-10-28, null, test, MEDIUM, PENDING, 투두 테스트).] [/* insert for com.unicorn.hgzero.meeting.infra.gateway.entity.TodoEntity */insert into todos (assignee_id,completed_at,created_at,description,due_date,meeting_id,minutes_id,priority,status,title,updated_at,todo_id) values (?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [/* insert for com.unicorn.hgzero.meeting.infra.gateway.entity.TodoEntity */insert into todos (assignee_id,completed_at,created_at,description,due_date,meeting_id,minutes_id,priority,status,title,updated_at,todo_id) values (?,?,?,?,?,?,?,?,?,?,?,?)]; constraint [meeting_id" of relation "todos] + at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:290) + at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241) + at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:566) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:795) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:758) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:663) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:413) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.unicorn.hgzero.meeting.biz.service.TodoService$$SpringCGLIB$$0.createTodo() + at com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo(TodoController.java:67) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.unicorn.hgzero.meeting.infra.controller.TodoController$$SpringCGLIB$$0.createTodo() + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement [ERROR: null value in column "meeting_id" of relation "todos" violates not-null constraint + Detail: Failing row contains (36b307bc-7c17-4939-8fc2-9bde565bca2f, 2025-10-28 11:22:15.691895, 2025-10-28 11:22:15.691895, user-005, null, null, 2025-10-28, null, test, MEDIUM, PENDING, 투두 테스트).] [/* insert for com.unicorn.hgzero.meeting.infra.gateway.entity.TodoEntity */insert into todos (assignee_id,completed_at,created_at,description,due_date,meeting_id,minutes_id,priority,status,title,updated_at,todo_id) values (?,?,?,?,?,?,?,?,?,?,?,?)] + at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:97) + at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) + at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.performNonBatchedMutation(AbstractMutationExecutor.java:134) + at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleNonBatched.performNonBatchedOperations(MutationExecutorSingleNonBatched.java:55) + at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:55) + at org.hibernate.persister.entity.mutation.InsertCoordinatorStandard.doStaticInserts(InsertCoordinatorStandard.java:194) + at org.hibernate.persister.entity.mutation.InsertCoordinatorStandard.coordinateInsert(InsertCoordinatorStandard.java:132) + at org.hibernate.persister.entity.mutation.InsertCoordinatorStandard.insert(InsertCoordinatorStandard.java:104) + at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:110) + at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:633) + at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:500) + at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:385) + at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:41) + at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127) + at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1425) + at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:487) + at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2324) + at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:1981) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:439) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:169) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:267) + at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) + at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:562) + ... 165 common frames omitted +Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "meeting_id" of relation "todos" violates not-null constraint + Detail: Failing row contains (36b307bc-7c17-4939-8fc2-9bde565bca2f, 2025-10-28 11:22:15.691895, 2025-10-28 11:22:15.691895, user-005, null, null, 2025-10-28, null, test, MEDIUM, PENDING, 투두 테스트). + at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2733) + at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2420) + at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372) + at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517) + at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434) + at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194) + at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:155) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:194) + ... 186 common frames omitted +2025-10-28 11:22:15 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 완료 - 실행시간: 121ms +2025-10-28 11:28:41 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-28 11:28:41 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_8e11be_1761618078387","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-28 11:28:41 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-28 11:28:41 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-28 11:28:41 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@1912ba29] for TypeConfiguration +2025-10-28 11:28:41 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@2da208de] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@1912ba29] +2025-10-28 11:28:41 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-28 11:28:41 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-28 11:28:45 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 41537 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-28 11:28:45 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-28 11:28:45 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-28 11:28:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-28 11:28:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-28 11:28:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 73 ms. Found 8 JPA repository interfaces. +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 11:28:46 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces. +2025-10-28 11:28:46 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-28 11:28:46 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-28 11:28:46 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-28 11:28:46 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-28 11:28:46 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1418 ms +2025-10-28 11:28:47 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-28 11:28:47 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-28 11:28:47 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@2ff8d39b +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@684a802a +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@547052 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@22f046b +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@22f046b +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@215a329c +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@215a329c +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@20723ee +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@20723ee +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@21c5c68a +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5bb39285 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@2b0d85bd +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@2b0d85bd +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@102ecb61 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1fd0ae78 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@583030bd +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@1f57666b +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@1f57666b +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7944c323 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@637d111d +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@3a917017 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@3a917017 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@1ed12d10 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@1ed12d10 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@4153a832 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@4153a832 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@4153a832 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@4a2dbcfc +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@4a2dbcfc +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@4a2dbcfc +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@7b8d6c66 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@6ca367aa +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@30ed4034 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@30ed4034 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@1700d089 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@1700d089 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@1700d089 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@77e6053 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@7097d921 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@2a21cbe7 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@2a21cbe7 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@3bb4c2b2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@3bb4c2b2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@3bb4c2b2 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@4fbc516f +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@4fbc516f +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@1acc768 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@1acc768 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@25765a49 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@25765a49 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@38caad07 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@38caad07 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@15d0b458 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@15d0b458 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@72a0a60d +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@65930e02 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@1e9d721 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@1e9d721 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@bb21063 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@6821c63c +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@4790b897 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@5cba890e +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@4d770bcd +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@fe156f4 +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@79b4cff +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@58ac0823 +2025-10-28 11:28:47 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-28 11:28:47 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-28 11:28:47 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@7a14ab66 +2025-10-28 11:28:47 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-28 11:28:47 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-28 11:28:47 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@61d24347) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@347f8029) +2025-10-28 11:28:47 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3f78a5ed) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@630e5010) +2025-10-28 11:28:47 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-28 11:28:47 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@58fbfefb +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@58fbfefb +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@1e9d721` +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 11:28:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 11:28:47 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@5b3a8bea] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@6ba0dcba] +2025-10-28 11:28:48 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-28 11:28:48 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@5b3a8bea] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@4843b35f] +2025-10-28 11:28:48 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-28 11:28:48 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-28 11:28:48 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-28 11:28:48 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-28 11:28:48 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-28 11:28:48 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + add column assignee_name varchar(100) +2025-10-28 11:28:48 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-28 11:28:48 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@4843b35f] for TypeConfiguration +2025-10-28 11:28:48 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-28 11:28:48 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-28 11:28:49 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-28 11:28:49 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-28 11:28:49 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-28 11:28:49 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-28 11:28:49 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-28 11:28:49 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-28 11:28:49 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-28 11:28:49 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_36b1d1_1761618529520"} +2025-10-28 11:28:49 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-28 11:28:49 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-28 11:28:49 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 2c95efc1-3ff0-498b-bda3-e00c07230d9d + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-28 11:28:49 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-28 11:28:49 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-28 11:28:50 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-28 11:28:50 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-28 11:28:50 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-28 11:28:50 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-28 11:28:50 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 5.525 seconds (process running for 5.683) +2025-10-28 11:28:59 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-28 11:28:59 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-28 11:28:59 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2025-10-28 11:28:59 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/todos +2025-10-28 11:28:59 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: user-001 (user-001) +2025-10-28 11:28:59 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/todos +2025-10-28 11:28:59 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 호출 - 파라미터: [user-001, user-001, com.unicorn.hgzero.meeting.infra.dto.request.CreateTodoRequest@56854f3] +2025-10-28 11:28:59 [http-nio-8082-exec-1] INFO c.u.h.m.i.controller.TodoController - Todo 생성 요청 - userId: user-001, minutesId: test, title: 투두 테스트, assigneeId: user-005 +2025-10-28 11:28:59 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.TodoService - Creating todo: 투두 테스트 +2025-10-28 11:28:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.minutes_id=? +2025-10-28 11:28:59 [http-nio-8082-exec-1] ERROR c.u.hgzero.common.aop.LoggingAspect - [Service] com.unicorn.hgzero.meeting.biz.service.TodoService.createTodo 실패 - 실행시간: 36ms, 에러: 회의록을 찾을 수 없습니다. +2025-10-28 11:28:59 [http-nio-8082-exec-1] ERROR c.u.h.m.i.controller.TodoController - Todo 생성 실패 - minutesId: test, title: 투두 테스트 +com.unicorn.hgzero.common.exception.BusinessException: 회의록을 찾을 수 없습니다. + at com.unicorn.hgzero.meeting.biz.service.TodoService.lambda$createTodo$0(TodoService.java:55) + at java.base/java.util.Optional.orElseThrow(Optional.java:403) + at com.unicorn.hgzero.meeting.biz.service.TodoService.createTodo(TodoService.java:55) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.unicorn.hgzero.common.aop.LoggingAspect.logService(LoggingAspect.java:86) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.unicorn.hgzero.meeting.biz.service.TodoService$$SpringCGLIB$$0.createTodo() + at com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo(TodoController.java:67) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.unicorn.hgzero.meeting.infra.controller.TodoController$$SpringCGLIB$$0.createTodo() + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2025-10-28 11:28:59 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 완료 - 실행시간: 64ms +2025-10-28 13:09:15 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/todos +2025-10-28 13:09:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: user-001 (user-001) +2025-10-28 13:09:15 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/todos +2025-10-28 13:09:15 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 호출 - 파라미터: [user-001, user-001, com.unicorn.hgzero.meeting.infra.dto.request.CreateTodoRequest@77bb19f9] +2025-10-28 13:09:15 [http-nio-8082-exec-2] INFO c.u.h.m.i.controller.TodoController - Todo 생성 요청 - userId: user-001, minutesId: minutes-draft-1, title: 투두 테스트, assigneeId: user-005 +2025-10-28 13:09:15 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@738493d6 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-28 13:09:15 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@2821647c (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-28 13:09:15 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@7fac450 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-28 13:09:15 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@50b7ed5a (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-28 13:09:15 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@56a9ec8d (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-28 13:09:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.TodoService - Creating todo: 투두 테스트 +2025-10-28 13:09:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - + select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.minutes_id=? +2025-10-28 13:09:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-28 13:09:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - + select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.assignee_name, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.todo_id=? +2025-10-28 13:09:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.TodoService - Todo created successfully: e5f41275-348c-405d-bf3b-055e1277495f +2025-10-28 13:09:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - + /* insert for + com.unicorn.hgzero.meeting.infra.gateway.entity.TodoEntity */insert + into + todos (assignee_id, assignee_name, completed_at, created_at, description, due_date, meeting_id, minutes_id, priority, status, title, updated_at, todo_id) + values + (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +2025-10-28 13:09:16 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - Todo 목록 캐시 삭제 - assigneeId: user-005 +2025-10-28 13:09:16 [http-nio-8082-exec-2] ERROR c.u.hgzero.common.aop.LoggingAspect - [Service] com.unicorn.hgzero.meeting.infra.cache.CacheService.evictCacheMinutesDetail 실패 - 실행시간: 9ms, 에러: Error in execution +2025-10-28 13:09:16 [http-nio-8082-exec-2] ERROR c.u.h.m.i.controller.TodoController - Todo 생성 실패 - minutesId: minutes-draft-1, title: 투두 테스트 +org.springframework.data.redis.RedisSystemException: Error in execution + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:52) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:50) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) + at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) + at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) + at org.springframework.data.redis.connection.lettuce.LettuceKeyCommands.del(LettuceKeyCommands.java:91) + at org.springframework.data.redis.core.RedisTemplate.lambda$delete$5(RedisTemplate.java:593) + at org.springframework.data.redis.core.RedisTemplate.lambda$doWithKeys$22(RedisTemplate.java:790) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) + at org.springframework.data.redis.core.RedisTemplate.doWithKeys(RedisTemplate.java:790) + at org.springframework.data.redis.core.RedisTemplate.delete(RedisTemplate.java:593) + at com.unicorn.hgzero.meeting.infra.cache.CacheService.evictCacheMinutesDetail(CacheService.java:276) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.unicorn.hgzero.common.aop.LoggingAspect.logService(LoggingAspect.java:86) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.unicorn.hgzero.meeting.infra.cache.CacheService$$SpringCGLIB$$0.evictCacheMinutesDetail() + at com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo(TodoController.java:86) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.unicorn.hgzero.meeting.infra.controller.TodoController$$SpringCGLIB$$0.createTodo() + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +Caused by: io.lettuce.core.RedisReadOnlyException: READONLY You can't write against a read only replica. + at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:144) + at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:116) + at io.lettuce.core.protocol.AsyncCommand.completeResult(AsyncCommand.java:120) + at io.lettuce.core.protocol.AsyncCommand.complete(AsyncCommand.java:111) + at io.lettuce.core.protocol.CommandWrapper.complete(CommandWrapper.java:63) + at io.lettuce.core.protocol.CommandHandler.complete(CommandHandler.java:745) + at io.lettuce.core.protocol.CommandHandler.decode(CommandHandler.java:680) + at io.lettuce.core.protocol.CommandHandler.channelRead(CommandHandler.java:597) + at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) + at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) + at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) + at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) + at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) + at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) + at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted +2025-10-28 13:09:16 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 완료 - 실행시간: 459ms +2025-10-28 13:09:42 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-28 13:09:42 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_36b1d1_1761618529520","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-28 13:09:42 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-28 13:09:42 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-28 13:09:42 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@4843b35f] for TypeConfiguration +2025-10-28 13:09:42 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@211c4601] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@4843b35f] +2025-10-28 13:09:42 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-28 13:09:42 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-28 13:25:55 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 53182 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-28 13:25:55 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-28 13:25:55 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-28 13:25:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-28 13:25:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-28 13:25:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 73 ms. Found 8 JPA repository interfaces. +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-28 13:25:56 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces. +2025-10-28 13:25:56 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-28 13:25:56 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-28 13:25:56 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-28 13:25:56 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-28 13:25:56 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1267 ms +2025-10-28 13:25:56 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-28 13:25:56 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-28 13:25:56 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@2ff8d39b +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@684a802a +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@547052 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@547052 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@22f046b +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@215a329c +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@20723ee +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@20723ee +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@21c5c68a +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@5bb39285 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2b0d85bd +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@102ecb61 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@102ecb61 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1fd0ae78 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@583030bd +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@1f57666b +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@1f57666b +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7944c323 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7944c323 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@637d111d +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@637d111d +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@637d111d +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@3a917017 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@3a917017 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@3a917017 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@1ed12d10 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@4153a832 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@4a2dbcfc +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@4a2dbcfc +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@7b8d6c66 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@7b8d6c66 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@7b8d6c66 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@6ca367aa +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@30ed4034 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@1700d089 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@1700d089 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@77e6053 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@77e6053 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@77e6053 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@7097d921 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@7097d921 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@2a21cbe7 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@2a21cbe7 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@3bb4c2b2 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@3bb4c2b2 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@4fbc516f +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@4fbc516f +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@1acc768 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@1acc768 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@25765a49 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@38caad07 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@2a20da9f +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@2a20da9f +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@25c8c71e +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@bb21063 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@6821c63c +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@c2f7c63 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@4790b897 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@5cba890e +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-28 13:25:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@4d770bcd +2025-10-28 13:25:57 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-28 13:25:57 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-28 13:25:57 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1e160a9e +2025-10-28 13:25:57 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-28 13:25:57 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-28 13:25:57 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@4803bf73) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@13731ff4) +2025-10-28 13:25:57 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@1ce8084a) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@61d24347) +2025-10-28 13:25:57 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-28 13:25:57 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@5ec3689b +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@5ec3689b +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@2a20da9f` +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 13:25:57 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-28 13:25:57 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@575cfec1] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@32068aef] +2025-10-28 13:25:57 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-28 13:25:57 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@575cfec1] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@7dcc6679] +2025-10-28 13:25:57 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-28 13:25:57 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-28 13:25:57 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-28 13:25:57 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-28 13:25:57 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-28 13:25:57 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-28 13:25:58 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@7dcc6679] for TypeConfiguration +2025-10-28 13:25:58 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-28 13:25:58 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-28 13:25:58 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-28 13:25:58 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-28 13:25:58 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-28 13:25:58 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-28 13:25:58 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-28 13:25:59 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-28 13:25:59 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-28 13:25:59 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_1f9548_1761625559047"} +2025-10-28 13:25:59 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-28 13:25:59 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-28 13:25:59 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 4ee61cda-c49a-4836-9a3d-18c5df86fd3f + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-28 13:25:59 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-28 13:25:59 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-28 13:25:59 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-28 13:25:59 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-28 13:25:59 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-28 13:26:00 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-28 13:26:00 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 5.037 seconds (process running for 5.261) +2025-10-28 13:26:31 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-28 13:26:31 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-28 13:26:31 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 4 ms +2025-10-28 13:26:31 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-28 13:26:31 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:31 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-28 13:26:31 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-28 13:26:31 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:31 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-28 13:26:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-28 13:26:31 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:31 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-28 13:26:31 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-28 13:26:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-28 13:26:31 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:31 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-28 13:26:31 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:31 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-28 13:26:31 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-28 13:26:31 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:31 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-28 13:26:31 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-28 13:26:32 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-28 13:26:32 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:32 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:32 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-28 13:26:32 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-28 13:26:32 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@56d77b18]] +2025-10-28 13:26:32 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-28 13:26:32 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-28 13:26:32 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-28 13:26:32 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-28 13:26:32 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@47db6327], /v3/api-docs, ko_KR] +2025-10-28 13:26:32 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 450 ms +2025-10-28 13:26:32 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 460ms +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/todos +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: name (user-001) +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/todos +2025-10-28 13:31:16 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 호출 - 파라미터: [user-001, name, com.unicorn.hgzero.meeting.infra.dto.request.CreateTodoRequest@4207e29a] +2025-10-28 13:31:16 [http-nio-8082-exec-4] INFO c.u.h.m.i.controller.TodoController - Todo 생성 요청 - userId: user-001, minutesId: minutes-draft-1, title: 제목, assigneeId: user-005 +2025-10-28 13:31:16 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.TodoService - Creating todo: 제목 +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.minutes_id=? +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.todo_id=? +2025-10-28 13:31:16 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.TodoService - Todo created successfully: 4e16fbd2-5dec-4d0f-b766-17087fd38455 +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* insert for + com.unicorn.hgzero.meeting.infra.gateway.entity.TodoEntity */insert + into + todos (assignee_id, completed_at, created_at, description, due_date, meeting_id, minutes_id, priority, status, title, updated_at, todo_id) + values + (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 패턴 캐시 삭제 - pattern: todo:list:*user-005*, count: 1 +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - Todo 목록 캐시 삭제 - assigneeId: user-005 +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 삭제 - minutesId: minutes-draft-1 +2025-10-28 13:31:16 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 대시보드 캐시 삭제 - userId: user-005 +2025-10-28 13:31:16 [http-nio-8082-exec-4] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_1f9548_1761625559047","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671} +2025-10-28 13:31:16 [http-nio-8082-exec-4] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_1f9548_1761625559047"} +2025-10-28 13:31:16 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_1f9548_1761625559047","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"} +2025-10-28 13:31:16 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_1f9548_1761625559047"} +2025-10-28 13:31:16 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_1f9548_1761625559047","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"} +2025-10-28 13:31:16 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_1f9548_1761625559047","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_1f9548_1761625559047","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"f4e8f6702ae942e492afd72bb88b4a40_G3"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_1f9548_1761625559047","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_1f9548_1761625559047"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_1f9548_1761625559047","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_1f9548_1761625559047","entityPath":"$cbs","linkName":"cbs"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_1f9548_1761625559047","entityPath":"$cbs"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_1f9548_1761625559047","entityPath":"$cbs","subscriberId":"un_cb6ce4_1761625877197"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1f9548_1761625559047","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_1f9548_1761625559047","entityPath":"$cbs"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1f9548_1761625559047","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_1f9548_1761625559047","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"} +2025-10-28 13:31:17 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1f9548_1761625559047","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"} +2025-10-28 13:31:17 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=todo, type=TODO_ASSIGNED, partitionKey=4e16fbd2-5dec-4d0f-b766-17087fd38455 +2025-10-28 13:31:17 [http-nio-8082-exec-4] INFO c.u.h.m.i.controller.TodoController - Todo 생성 성공 - todoId: 4e16fbd2-5dec-4d0f-b766-17087fd38455 +2025-10-28 13:31:17 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.TodoController.createTodo 완료 - 실행시간: 966ms +2025-10-28 13:35:36 [lettuce-nioEventLoop-6-1] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset +java.net.SocketException: Connection reset + at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) + at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.base/java.lang.Thread.run(Thread.java:1583) +2025-10-28 13:35:36 [lettuce-eventExecutorLoop-1-2] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379 +2025-10-28 13:35:36 [lettuce-nioEventLoop-6-2] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379 diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/TodoService.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/TodoService.java index 8b1d72f..335406c 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/TodoService.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/TodoService.java @@ -7,6 +7,8 @@ import com.unicorn.hgzero.meeting.biz.dto.TodoDTO; import com.unicorn.hgzero.meeting.biz.usecase.in.todo.*; import com.unicorn.hgzero.meeting.biz.usecase.out.TodoReader; import com.unicorn.hgzero.meeting.biz.usecase.out.TodoWriter; +import com.unicorn.hgzero.meeting.biz.usecase.out.MinutesReader; +import com.unicorn.hgzero.meeting.biz.domain.Minutes; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; @@ -36,6 +38,7 @@ public class TodoService implements private final TodoReader todoReader; private final TodoWriter todoWriter; + private final MinutesReader minutesReader; /** * Todo 생성 @@ -45,6 +48,14 @@ public class TodoService implements public Todo createTodo(CreateTodoCommand command) { log.info("Creating todo: {}", command.title()); + // minutesId로 meetingId 조회 + String meetingId = command.meetingId(); + if (meetingId == null && command.minutesId() != null) { + Minutes minutes = minutesReader.findById(command.minutesId()) + .orElseThrow(() -> new BusinessException(ErrorCode.ENTITY_NOT_FOUND, "회의록을 찾을 수 없습니다.")); + meetingId = minutes.getMeetingId(); + } + // Todo ID 생성 String todoId = UUID.randomUUID().toString(); @@ -52,7 +63,7 @@ public class TodoService implements Todo todo = Todo.builder() .todoId(todoId) .minutesId(command.minutesId()) - .meetingId(command.meetingId()) + .meetingId(meetingId) .title(command.title()) .description(command.description()) .assigneeId(command.assigneeId()) diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/TodoController.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/TodoController.java index b57719e..3580ac7 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/TodoController.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/TodoController.java @@ -63,16 +63,16 @@ public class TodoController { userId, request.getMinutesId(), request.getTitle(), request.getAssigneeId()); try { - // Todo 생성 + // Todo 생성 (description은 null, priority는 기본값 MEDIUM 사용) Todo createdTodo = todoService.createTodo( new CreateTodoUseCase.CreateTodoCommand( request.getMinutesId(), - null, // meetingId는 나중에 회의록에서 가져올 예정 + null, // meetingId는 회의록에서 가져올 예정 request.getTitle(), - request.getDescription(), + null, // description 제거 request.getAssigneeId(), request.getDueDate(), - request.getPriority() + "MEDIUM" // priority 기본값 ) ); diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/request/CreateTodoRequest.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/request/CreateTodoRequest.java index 3602a80..17024f6 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/request/CreateTodoRequest.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/request/CreateTodoRequest.java @@ -26,9 +26,6 @@ public class CreateTodoRequest { @Size(max = 100, message = "Todo 제목은 100자 이내여야 합니다") private String title; - @Size(max = 500, message = "Todo 설명은 500자 이내여야 합니다") - private String description; - @NotBlank(message = "담당자 ID는 필수입니다") private String assigneeId; @@ -37,7 +34,4 @@ public class CreateTodoRequest { @NotNull(message = "예정 완료일은 필수입니다") private LocalDate dueDate; - - @NotBlank(message = "우선순위는 필수입니다") - private String priority; // HIGH, MEDIUM, LOW } \ No newline at end of file diff --git a/meeting/src/main/resources/db/migration/V3__add_assignee_name_to_todos.sql b/meeting/src/main/resources/db/migration/V3__add_assignee_name_to_todos.sql new file mode 100644 index 0000000..ddbc746 --- /dev/null +++ b/meeting/src/main/resources/db/migration/V3__add_assignee_name_to_todos.sql @@ -0,0 +1,8 @@ +-- V3__add_assignee_name_to_todos.sql +-- todos 테이블에 assignee_name 컬럼 추가 + +ALTER TABLE todos +ADD COLUMN assignee_name VARCHAR(100); + +-- 기존 데이터에 대한 기본값 설정 (필요시) +UPDATE todos SET assignee_name = 'Unknown' WHERE assignee_name IS NULL; \ No newline at end of file