From 279bfa075896a682db4b4999d430accfe67979e3 Mon Sep 17 00:00:00 2001 From: cyjadela Date: Mon, 27 Oct 2025 13:12:28 +0900 Subject: [PATCH 01/31] =?UTF-8?q?=ED=9A=8C=EC=9D=98=EB=A1=9D=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20API=20(mock)=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/Minutes$MinutesBuilder.class | Bin 4287 -> 4287 bytes .../hgzero/meeting/biz/domain/Minutes.class | Bin 4055 -> 8221 bytes .../meeting/biz/service/MeetingService.class | Bin 3609 -> 9412 bytes .../meeting/biz/service/MinutesService.class | Bin 11920 -> 14585 bytes .../meeting/infra/cache/CacheConfig.class | Bin 3467 -> 1167 bytes .../meeting/infra/config/RedisConfig.class | Bin 0 -> 6750 bytes .../controller/DashboardController.class | Bin 3542 -> 8860 bytes .../infra/controller/MinutesController.class | Bin 25355 -> 26207 bytes .../event/publisher/EventHubPublisher.class | Bin 9245 -> 4917 bytes .../event/publisher/NoOpEventPublisher.class | Bin 0 -> 4438 bytes .../infra/gateway/MeetingGateway.class | Bin 4756 -> 3481 bytes .../infra/gateway/MinutesGateway.class | Bin 4316 -> 4791 bytes .../infra/gateway/MinutesSectionGateway.class | Bin 4903 -> 5406 bytes .../infra/gateway/ParticipantGateway.class | Bin 0 -> 3456 bytes .../MeetingEntity$MeetingEntityBuilder.class | Bin 3711 -> 4938 bytes .../infra/gateway/entity/MeetingEntity.class | Bin 6101 -> 5484 bytes ...tity$MeetingParticipantEntityBuilder.class | Bin 0 -> 3404 bytes .../entity/MeetingParticipantEntity.class | Bin 0 -> 3204 bytes .../gateway/entity/MeetingParticipantId.class | Bin 0 -> 1822 bytes .../infra/gateway/entity/MinutesEntity.class | Bin 7270 -> 7679 bytes .../repository/MeetingJpaRepository.class | Bin 1218 -> 1746 bytes .../MeetingParticipantJpaRepository.class | Bin 0 -> 1501 bytes meeting/logs/meeting-service.log | 506 ++++++++++++++++++ .../infra/controller/MinutesController.java | 295 +++++++++- .../dto/response/MinutesListResponse.java | 15 + 25 files changed, 788 insertions(+), 28 deletions(-) create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/RedisConfig.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/ParticipantGateway.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity$MeetingParticipantEntityBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantId.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingParticipantJpaRepository.class diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Minutes$MinutesBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Minutes$MinutesBuilder.class index 81e3791774fdc1b77ff454f8045b5699df6aab11..272abf11d1764010beaa6b0a0b284d5d6b45bb82 100644 GIT binary patch delta 141 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 A(f|Me literal 4055 zcmd5<>sAw26#fPR3Bw2yH8yIs7cVegrWbpKs(_-25n4d3Sgn)f5Dz9ZIu~5}yN}Z! z?OH}%?OJ_+zD(c1)xFP5ZbF)1`=iTc&TXIX?CZCOKVSd$2Y^{TNn$|5*^*ncLPwTd z&#@j4bsslSpXTyJ>IPR@EknrQ)V21sX1b$o)1?u3D?S_SC`d}Bpc96Ja-lDziD@l0V? zTCYU!OkW__VLu>HdNR2sJfB|Iu&+(woD+zO@c8|bC+t9!=bpCavt(*Ek`81|SOvFa zS1*&)Dy`_wSk?A}8*W){NKt0tjtxc{-H?u5mCqvF){2EwjWZ1gCfjt1ojA3oAu;ck zMGA*WrG?z$Y$3OPFcpo1o@qvbeDj3_fHEcK6Agza zr@C6jpr;IEkk&9>kd9akYenI$+C`3GTDf4&_9U<4%|!4(l83F`MTvtG`oiNB84e$n z$*rW{TE!mE_0c5}k_>$eV|kLx%&ObGD=} zDLk`|<5KoVC6_K#-CEIoXk8VK@Ho?_lPGAI`8TiXxQ;~wOE^b}}W?AIt`PAPh`!nN84*LI;!Z=>r4% zb~>GV%BK$v>}Sw1y4y@)W}J?V*+9o27B&2}1Ho*koNhZUH+Pfh@Ig1B?W{B%iFQ3` zPnlhy5_M{){u_(mI)}Qc`@i!PGM$|M^ihM?^%XbtN@77W^BZwVpJOJbWzHcQnWqNm z3#!PmPBx-~T@=(B1-A~LniG*LeS{bo;F71=09Uvgi3in4#YR%2YR+=h-_)GifEuZU z)JPShMyd@pQWdC?x}X}VanZP+unyuK`pwd6h42Pw+-If_)p5i;UB^-L72d1kkq5px;%3xk+lQ(fSsqXeSe0g^AO&A`qM*8IAs(#ku%_i)5ZgXA|b_=dfPj-|6s!?lh+#EMVi zq&$rrs7dt_koq0hZ@#)sis*bXm9jT*YX7xHY z&Fm=ieAb9*ez1)}CzMt{MXxmJDX+Q{(??$QCnlP_qAc!SdHx_&O(L(l(~#QZ{=}Up z&mVboi)Y-UQfkIsYDCSrPw8sLor-Ha&wpf5Pkc=Cs2lJL2E8x{kM;(LNCO(VFJ7nr MA)Ri~I>GC|0hIhKqyPW_ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class index 9b9a82455efd4fcfbe373ad0a6b43715668d93a0..af138b0ae880ad86849aa858933c88f66a736987 100644 GIT binary patch literal 9412 zcmdT~+jrDN82_dq+b%5#2!c0)ptgz|FNjL9TDApNw=L3b@s8PKx*f=6O|sSE{qm}> z{vAGfJ4YWq$5;OV-+lMh(tC*?HP%w3p67gfgPsPBCx;ixGmK)H%?ts>rSgh-B|*6U+&mGvuMrUVjgRn zbl$cdU-Ow`djW~*SWV};dV$*1MH3iEGG%c~U#6NtT>@w71vTe%{K!i%wu;3;6mhMZ`uAMf{FQUDG$Ih+&NVL8fK)hO4O|fm%(F;fwdsEo%FhI!%*# zn}J#9^MOJVwH?u@izx^M-PgvzWjbqXwjW6{HwZV#PEj%meD6}0J_8z=d{oe`Q|oRb zUlI6fx+t4DIqyU&5mp_`(rjaPCJ)_kEDe!`o1oN3MAWZKV*U(I6Kxk0JQ~=d?>g>v z)ps@9)AS%Os9KyN)JAt&GZA=a)iE$LKTcq8H}@~PuH%lwlVpd#X1mmL%q?mtm^9kV z3^R?=b{$MTmUl)ePc$~EVo`t7F%)VW4a`l`GYa#Rj&0BlW+UZ><0?Mx^0(VmNohnJ z4VBcSP}8l6Tw7kBuh$l?E-fxLYRea{Hfl?YiXK`(X;LNDCaMH=gsEH6lnq8rC9O!!(;H&B%Fq)3G6z{Z0675(J)=_1}KM|omt1Q ztz(EScdRCL8yd!BST-Pc>zd1gXEC|c-(*-HJe`+$3M^?o`Sg{IIk>*)v4X$=T?TP@QO)_Gkg)b1Yr?`b9)en{~tG$1`yT=|9#GAGUlWa4HnUpyR zygamVvdWItABWdV1b!{9{34Dun(Bu^?z?qj zHdsqosbYF-#dmE2<5=?>E4I141Dhv=z@hGdwe zC*;H`YuTFLaq$dZD?oC#XlM#4=kOf|QaoZ__d9s1-<6)l3!%|5X;_LASP-lPO#^Hr zBnp>VUQtLEX81}{y3S328AalwDcNGH%-cpJ{b`A=CACtoNUf0wM-gHl!)}dF6Lo1= zK?OaW)NFh~TptIG!1se)I=p@L!;qxE;8=@F-UKWB7F>LPk%Nwm&E)37I@CVQL=?Jn>|k>&N7+50Ed0sH-nhtL^-XRK>+zZ znGvalB4*Il4YKQ(0UxY3s>8-ByVO5#fUr0YaNBkQ9peAwQq%+*= zYP}_$8SfaYPRG^hc^35I4v5GX{e?XqO+f!7NbH=}&9AaIAQLtg@$z~LVEtn$wsC1}f5 zh4YpGZ&rIViLnGeikz9`F;ar9-X)&7O7I@uD+LulO-pctKuJVE2|mE}R5+C2qwZ9M z@(F>n1(lfjIu)__*~kc-2ej)F?>RNl4Lmpo_$?T2!=DmNz;2krpSxf$+>Z16@YcEu z$Nf0&hXZg&I39#U;dmz;4#y+7KUlvT?g__x;l6M@3Q9O0gZsnrIGhN_2jIbQdCQ_Ku1F97 zE<#O;@S+6aO9=vjIxOW%v@AjUPKtIZM%#^iRq*%a*Whw2V%LB&$ls)ptI$Bxuc30r zU_Eq;5uksULSMNV(0@pwUx8O+u3ziVb=T%Hh5RXnejVP3q2C-48Vw-}mbc()t~0#d z>kMPNrD&(2iD=365xM$Q?CN?i8isQ(Z?^#rJzyhF3@v=##9si0zh!i_YnZ-FI0B#J Z^I=S47C7(@c+i1&VH@6u58-3@^l#<%(OLii literal 3609 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 W@F(Pg9}8Fnv)XEpy!5ZS4EzFcKS&7x literal 3467 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 literal 9245 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 WX#bq#U*IKP!}hEYGKz7$L%|<_@6JI0 delta 437 zcmX9(NiRcD6#nje?R(sJTh+##s38rC1qoIbBBn&`?MyXR(bhcFJkLk${R0g#ErhMD z#6}n5hloQL_k6?o&N;dFzGSiM?dRzkKoc%ZXaWsqR|OQ8PAalF6K&`U3u26jeQ9Si=kYyQ=RncFjEv`COgQxwgQL zR(Q~c0#^RiENW28inm|_lMtNoU#JzkO+|F_Ua2*q-wWUEK$H+SGV$?i({41;C*Y1>--e+J-)M#103O)9m&oK&Opff E1<|}#mjD0& diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MinutesSectionGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MinutesSectionGateway.class index eba121c284d59920ec586a7503bffc4d16739312..6bafc6c71710c34149794742fa065c701e55f9f0 100644 GIT binary patch delta 893 zcmY+B$xl;J6vltAt*x{d1Oh5*1T`qs8lr)PnhOvpz!0NM=4yZWbJda%G zdB$0BsG?$6vGAWz*DhSRGBL*U3eotIch9-s`R@0fdv5pSYr*VKzu$cX=F;cGWl*Un zcq)5pzYjOc_1DbuN`=iv1J!CJ>aC_kI2x&HHpnX}tzK`on`O2cX)UWy#KMu**?vMq z6`N=?@J3?`?YN~2{iR+Xaf1b-TdIF%jP3LjCaGv=vq6T)R!5sQSfZK#pXR)1)V9os zh;C(@j}C*Je}+Rv#ddZ`Z;gZ82GdSj2JVv5RgOoeVwcl;;IGHLt$t!T>{0AxpMl2~ zXYtjiTzORuQsRK(AlcG=GUC)6mBWf7PN$AagB1(6gsoK8TN0^g}Q=HZZ zGrF?1qJ=gGJgYdzd0prKHX*Y@3kmo}kQgoc^3SbL4B8LRBPU#pc^) zJZ{B(^cocFepM{fe{V2e((x}hXIbt}L!KFrym&|O6-851tm|c>3nN9OpIA+3fNB8~ z1B`Y;iY*t(3Q4*%#qRDwaDbel+9iCU6#Hd&Xn+DIqz{Y`@Mt%~r@rMxjbjt)rOSor z*LF@zapt+$yBQOeRanlbFv^3aBPX4Kt`^5z7Qw&T8sd!wMQ{pp}&*S;bg6 z863O{(}nGP9bDid@~Bu`;<8*d$uO=+=H{x@19R~FqQXZkZ-MCdPVM`#7FWg$zO=^ SOJ0%UjUawO-tvwQ6#N07%-0$K delta 471 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 We$Em6!4fiIN7%p*bc4-!W&Uqtm`}I> literal 3711 zcmcImTT>iG6#ja-ENlirL}QHRVm7#JE@O-_8bS;qH*_HiNKE3b+3moD*_o}GUMzg^ zZ&>~XU$iQzq+*rNmgP^fEWh4fVV4RY+)sz7^s-JP+E*BVs5jk;3z{ECXQ=oT1y zAlIbpOTye*dZ5Z$pudSbT@e^AZLZJjh_{Uk9Gt5YwW_9rH81v-d^H&ap_bYUgV-GL z!|GDF>fTU+iYQctM|voeuLSm0R9ud{n%PS#F0ZIc-B*=K-h05_Wsu!cSeE`(9$p~D z^Zl`w5uwb!tO_c2=8&uFaehtub%N)bWURPL+$DY(Ez7{8v5YQGjSybhtI0r9&YV`& zn$IiDTJJ?K@bo2tuEN-&K=)KwQ8{$sfP57NsWz~M#M!Kd4_H> zyY-4k=!Me%?=2c(rI7T-*z>rm9|A`l^q|+w-gMA!XL$!X^a_McK~h}x+~j%7!9F-f zo-qdlc6P$S3vlQ?>v*$x+QFa|_H744c+v3QaWHIo?>czN&faq{VpQo_GRYt?S=giG z<2hWw#VqKji9LDW!2}qHgZYZOFYCU}Tjc~sC}JWT&8?SBkWLExnGzq#6Wei8oN2fI z_k~6|X_kxauG@K!Ny347Ez7GjvernhEUvayD+@2sr$alg)Eg6&DaXS2$)ok~%c)o(tm zM`d;0Yt*u~_Hfz+8Et(f40Ws{S({OMC9K3b%wZvmd4c?97<$24xT;)h3~RLOvaG{s z-B|N8fgf6J*4%9YZ_1$Jt2kc@!_|6id`IQl4lbf>f52`SH%7_a`)Q28}}4FGuHAiqXnZoun!gMaoK97+KiCojYG zZ1Kb+94`LMX$D)Nj0D`$gfcU0bH0pr2R+&`sC62v!|tHRItH~~=W7hdsl`@1wy8hb zF{lk2Hi_Lq3mt>nxD$L->?&!oV^ABo0w+^#dYL9Mu62y}PZhf#!QBzr*$4rLh$h=8E7uY1d#q+cBt3Hdd?MLCFayA5dijRQw`d~}V`3;d~c|iuZ k+Oq8vD;^ek{cYSKHOxJN56HW$BKPnmzQzH3(>QtIAC@E_YybcN diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class index 31029652f0958b606b631c0108c51f2a6962548a..59497c3d1131ce2f990d584762c954d17b874099 100644 GIT binary patch literal 5484 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 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity$MeetingParticipantEntityBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity$MeetingParticipantEntityBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..1bd18a1b574387279c82722812ab16a0c307101d GIT binary patch literal 3404 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 Om;=+9lfK(2eBfX6vr^0e diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingJpaRepository.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingJpaRepository.class index 42c7d1ad842902d65ac57a014a0a8fcdc91e0f9a..78e648dec9cf61a1a246107b2fc1aa1c72ed8180 100644 GIT binary patch delta 513 zcmYjO%TB^T6unbWLyU=uFT~f#hBh%aCT_q-Bv1u|fCY6)Djjtqozdx3gB!oW^hb2- z!Wfq>{R96)jZ=IsCik9uPtLvf%v0iJX!!Z#{s92;kRAXHK`DIIjJxc+Hl1wqfXM=9 zM;+RhlpXI75(OW@R``e}!$2Dext2oP;ahB0Gb=Yzzupaq=&m5>yKp)IL2%o!DpsM1 z3$?v!Q}+zKY1ek}x01yqm0j%NgOX)i*jwb{*kSaFh_Z{3y6CO>4-+-UiiX|f{giOI8>WhTF5wPa+Stjrc5 d$H2@W3{=X*Ai}^2rbQXVfHWHeBZD{t0{}|14`u)W diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingParticipantJpaRepository.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingParticipantJpaRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..4189a60efde237d65d3c1f0169bc37ec247d3627 GIT binary patch literal 1501 zcmb_c&2G~`5S~p*LrWknP@v_f7ODglQdbDUfdEnvt_Vt0NT5jEw)P}!aCXglonnqW z76%@HSKwU`<2a;A>!JwdV6SFp_M5+N=I8J4KLDTxnyN`$3eB!>ag7-o(>0%0yL8T*=|2!EvuKNtO?lz7*v~7x5-OjFJ zD+At;k*zXVYRj$?Ha5s0oZ-on#>@plWu?t4hC5VLpOO1=7WcadO&av=V`4+l+k8;ACDc5iR^>EG^ulg9E#i?Gcps6FC%#nU`;8Vm4d49 zpfM{|n%bA0B<()~KJ%+LF`9&46bB-Ri5%_=x8c5Zo!!=6(>Y1-tfx-synpGoTqoQa z4N2X1o;r`m0=0NLCz=tWxkWRT-2KzToEWpuX^4D?kTQ9~$p(HQdPfsQCMNwQ*`1tf z=kVtPgXOl4jfcB3paN{2OnPbvchYfV@M{7p8|>=o$^2`m=g7M`%xv8s&g;G0Tq5cp zYMX?}kG5Qu))|8Z`iitqi?s4eaF(Pck_xa)^0{Mj8P1RO7f4@$6|!6<`wE>G>AXbx n%Mq->6%xuR{?+W}8kw)d2Hh^eb@~_J#>mmlA;2P;-2(Un=1lC} literal 0 HcmV?d00001 diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log index cbe34a1..25fd166 100644 --- a/meeting/logs/meeting-service.log +++ b/meeting/logs/meeting-service.log @@ -1423,3 +1423,509 @@ Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Obj at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 09:52:22 [parallel-7] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Error in AMQP channel processor.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","subscriberId":"un_e23365_1761526338131"} +2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 47761 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:05:31 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 84 ms. Found 8 JPA repository interfaces. +2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces. +2025-10-27 13:05:32 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:05:32 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:05:32 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1256 ms +2025-10-27 13:05:32 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:05:32 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:05:33 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@79e16dd9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@79e16dd9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@22ee7fdc +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@1a88d194 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@fe13916 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@278c998 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@25e353dc +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@234ce7ff +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@780a91d0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-27 13:05:33 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@8b1bfdf +2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:05:33 [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-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@6d8096ee) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@35d8ba22) +2025-10-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3fc051ce) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3c5bb37d) +2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@22c4354d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@22c4354d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@79e16dd9` +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@430db481] +2025-10-27 13:05:33 [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-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@3d3e9163] +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:05:34 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration +2025-10-27 13:05:34 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:05:34 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:05:34 [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-27 13:05:35 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:05:35 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_680666_1761537935139"} +2025-10-27 13:05:35 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:05:35 [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-27 13:05:35 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: afdf51ca-5931-479f-826b-4f45c3af946f + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:05:35 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:05:35 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:05:35 [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-27 13:05:35 [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-27 13:05:36 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 13:05:36 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.959 seconds (process running for 5.176) +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_680666_1761537935139","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:05:36 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration +2025-10-27 13:05:36 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@1dec0e39] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@3d3e9163] +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 48882 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:10:51 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 8 JPA repository interfaces. +2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 0 Redis repository interfaces. +2025-10-27 13:10:52 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:10:52 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:10:52 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1106 ms +2025-10-27 13:10:52 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:10:52 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:10:52 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@2ff8d39b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@684a802a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@547052 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@547052 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@215a329c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@215a329c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@20723ee +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@21c5c68a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@3cfab340 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3cfab340 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@1736273c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@ba86c53 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@3df6494f +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@1b5f960a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-27 13:10:52 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:10:52 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2f3c7b24 +2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:10:53 [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-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@69926b6e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7ea8224b) +2025-10-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@5a010eec) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@623ded82) +2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@4b552b13 +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@4b552b13 +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@3cfab340` +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@c79915a] +2025-10-27 13:10:53 [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-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@259647f2] +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:10:54 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@259647f2] for TypeConfiguration +2025-10-27 13:10:54 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:10:54 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:10:54 [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-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:10:54 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_5ae9ef_1761538254872"} +2025-10-27 13:10:54 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:10:55 [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-27 13:10:55 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 1f1f726a-7d80-4480-8e52-83418bddf566 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:10:55 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:10:55 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:10:55 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:10:55 [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-27 13:10:55 [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-27 13:10:55 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 13:10:55 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.753 seconds (process running for 4.969) +2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 13:10:57 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 13:10:57 [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@883dec9]] +2025-10-27 13:10:57 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 13:10:57 [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@7ef4c28b], /v3/api-docs, ko_KR] +2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 409 ms +2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 420ms +2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-002) +2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [user-002, 1, 0, 10, modified, desc, all, null, null] +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: user-002, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: user-002, total: 7, filtered: 7, paged: 7 +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 7ms diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java index 150a7cc..eaac6ba 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java @@ -58,44 +58,51 @@ public class MinutesController { @RequestHeader("X-User-Id") String userId, @RequestHeader("X-User-Name") String userName, @Parameter(description = "페이지 번호 (0부터 시작)") @RequestParam(defaultValue = "0") int page, - @Parameter(description = "페이지 크기") @RequestParam(defaultValue = "20") int size, - @Parameter(description = "정렬 기준 (createdAt, lastModifiedAt)") @RequestParam(defaultValue = "lastModifiedAt") String sortBy, - @Parameter(description = "정렬 방향 (asc, desc)") @RequestParam(defaultValue = "desc") String sortDir) { + @Parameter(description = "페이지 크기") @RequestParam(defaultValue = "10") int size, + @Parameter(description = "정렬 기준 (modified, meeting, title)") @RequestParam(defaultValue = "modified") String sortBy, + @Parameter(description = "정렬 방향 (asc, desc)") @RequestParam(defaultValue = "desc") String sortDir, + @Parameter(description = "상태 필터 (all, draft, complete)") @RequestParam(defaultValue = "all") String status, + @Parameter(description = "참여 유형 (attended, created)") @RequestParam(required = false) String participationType, + @Parameter(description = "검색 키워드") @RequestParam(required = false) String search) { - log.info("회의록 목록 조회 요청 - userId: {}, page: {}, size: {}", userId, page, size); + log.info("회의록 목록 조회 요청 - userId: {}, page: {}, size: {}, status: {}, participationType: {}, search: {}", + userId, page, size, status, participationType, search); try { - // 캐시 확인 - String cacheKey = String.format("minutes:list:%s:%d:%d:%s:%s", userId, page, size, sortBy, sortDir); - MinutesListResponse cachedResponse = cacheService.getCachedMinutesList(cacheKey); - if (cachedResponse != null) { - log.debug("캐시된 회의록 목록 반환 - userId: {}", userId); - return ResponseEntity.ok(ApiResponse.success(cachedResponse)); - } - - // 정렬 설정 - Sort.Direction direction = sortDir.equalsIgnoreCase("desc") ? Sort.Direction.DESC : Sort.Direction.ASC; - Pageable pageable = PageRequest.of(page, size, Sort.by(direction, sortBy)); - - // 회의록 목록 조회 - var minutesPage = minutesService.getMinutesListByUserId(userId, pageable); + // Mock 데이터 생성 (프론트엔드 테스트용) + List mockMinutes = createMockMinutesList(userId); - // 응답 DTO 생성 - List minutesItems = minutesPage.getContent().stream() - .map(this::convertToMinutesItem) + // 필터링 적용 + List filteredMinutes = mockMinutes.stream() + .filter(item -> filterByStatus(item, status)) + .filter(item -> filterByParticipationType(item, participationType, userId)) + .filter(item -> filterBySearch(item, search)) .collect(Collectors.toList()); + + // 정렬 적용 + applySorting(filteredMinutes, sortBy, sortDir); + + // 페이징 적용 + int startIndex = page * size; + int endIndex = Math.min(startIndex + size, filteredMinutes.size()); + List pagedMinutes = + startIndex < filteredMinutes.size() ? + filteredMinutes.subList(startIndex, endIndex) : + List.of(); + + // 통계 계산 + MinutesListResponse.Statistics stats = calculateStatistics(mockMinutes, participationType, userId); MinutesListResponse response = MinutesListResponse.builder() - .minutesList(minutesItems) - .totalCount(minutesPage.getTotalElements()) + .minutesList(pagedMinutes) + .totalCount(filteredMinutes.size()) .currentPage(page) - .totalPages(minutesPage.getTotalPages()) + .totalPages((int) Math.ceil((double) filteredMinutes.size() / size)) + .statistics(stats) .build(); - // 캐시 저장 - cacheService.cacheMinutesList(cacheKey, response); - - log.info("회의록 목록 조회 성공 - userId: {}, count: {}", userId, minutesItems.size()); + log.info("회의록 목록 조회 성공 - userId: {}, total: {}, filtered: {}, paged: {}", + userId, mockMinutes.size(), filteredMinutes.size(), pagedMinutes.size()); return ResponseEntity.ok(ApiResponse.success(response)); } catch (Exception e) { @@ -345,6 +352,238 @@ public class MinutesController { .build(); } + /** + * Mock 데이터 생성 (프론트엔드 테스트용) + */ + private List createMockMinutesList(String userId) { + List mockData = List.of( + // 사용자가 생성한 회의록들 + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-001") + .title("2024년 1분기 성과리뷰 회의록") + .meetingTitle("2024년 1분기 성과리뷰") + .status("FINALIZED") + .version(3) + .createdAt(LocalDateTime.of(2024, 3, 15, 14, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 15, 16, 30)) + .meetingDate(LocalDateTime.of(2024, 3, 15, 14, 0)) + .createdBy(userId) + .lastModifiedBy(userId) + .participantCount(8) + .todoCount(5) + .completedTodoCount(5) + .completionRate(100) + .isCreatedByUser(true) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-002") + .title("신규 프로젝트 킥오프 회의록") + .meetingTitle("신규 프로젝트 킥오프") + .status("DRAFT") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 20, 10, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 20, 11, 45)) + .meetingDate(LocalDateTime.of(2024, 3, 20, 10, 0)) + .createdBy(userId) + .lastModifiedBy("user-002") + .participantCount(6) + .todoCount(8) + .completedTodoCount(3) + .completionRate(75) + .isCreatedByUser(true) + .build(), + + // 사용자가 참석한 회의록들 + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-003") + .title("마케팅 전략 회의록") + .meetingTitle("마케팅 전략 논의") + .status("FINALIZED") + .version(2) + .createdAt(LocalDateTime.of(2024, 3, 18, 15, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 18, 17, 0)) + .meetingDate(LocalDateTime.of(2024, 3, 18, 15, 0)) + .createdBy("user-003") + .lastModifiedBy("user-003") + .participantCount(5) + .todoCount(4) + .completedTodoCount(4) + .completionRate(100) + .isCreatedByUser(false) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-004") + .title("기술 아키텍처 리뷰 회의록") + .meetingTitle("기술 아키텍처 리뷰") + .status("DRAFT") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 22, 9, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 22, 10, 30)) + .meetingDate(LocalDateTime.of(2024, 3, 22, 9, 0)) + .createdBy("user-004") + .lastModifiedBy("user-004") + .participantCount(7) + .todoCount(6) + .completedTodoCount(2) + .completionRate(60) + .isCreatedByUser(false) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-005") + .title("주간 스프린트 회고 회의록") + .meetingTitle("주간 스프린트 회고") + .status("FINALIZED") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 25, 16, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 25, 17, 0)) + .meetingDate(LocalDateTime.of(2024, 3, 25, 16, 0)) + .createdBy("user-005") + .lastModifiedBy("user-005") + .participantCount(4) + .todoCount(3) + .completedTodoCount(3) + .completionRate(100) + .isCreatedByUser(false) + .build(), + + // 추가 더미 데이터들 + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-006") + .title("고객 피드백 분석 회의록") + .meetingTitle("고객 피드백 분석") + .status("DRAFT") + .version(2) + .createdAt(LocalDateTime.of(2024, 3, 28, 14, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 28, 15, 20)) + .meetingDate(LocalDateTime.of(2024, 3, 28, 14, 0)) + .createdBy(userId) + .lastModifiedBy(userId) + .participantCount(5) + .todoCount(7) + .completedTodoCount(4) + .completionRate(85) + .isCreatedByUser(true) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-007") + .title("보안 정책 수립 회의록") + .meetingTitle("보안 정책 수립") + .status("FINALIZED") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 12, 10, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 12, 12, 0)) + .meetingDate(LocalDateTime.of(2024, 3, 12, 10, 0)) + .createdBy("user-006") + .lastModifiedBy("user-006") + .participantCount(6) + .todoCount(4) + .completedTodoCount(4) + .completionRate(100) + .isCreatedByUser(false) + .build() + ); + + return mockData; + } + + /** + * 상태별 필터링 + */ + private boolean filterByStatus(MinutesListResponse.MinutesItem item, String status) { + if ("all".equals(status)) { + return true; + } + if ("draft".equals(status)) { + return "DRAFT".equals(item.getStatus()); + } + if ("complete".equals(status)) { + return "FINALIZED".equals(item.getStatus()); + } + return true; + } + + /** + * 참여 유형별 필터링 + */ + private boolean filterByParticipationType(MinutesListResponse.MinutesItem item, String participationType, String userId) { + if (participationType == null || participationType.isEmpty()) { + return true; + } + if ("created".equals(participationType)) { + return item.isCreatedByUser(); + } + if ("attended".equals(participationType)) { + return !item.isCreatedByUser(); + } + return true; + } + + /** + * 검색어 필터링 + */ + private boolean filterBySearch(MinutesListResponse.MinutesItem item, String search) { + if (search == null || search.trim().isEmpty()) { + return true; + } + String searchLower = search.toLowerCase(); + return item.getTitle().toLowerCase().contains(searchLower) || + item.getMeetingTitle().toLowerCase().contains(searchLower); + } + + /** + * 정렬 적용 + */ + private void applySorting(List items, String sortBy, String sortDir) { + boolean ascending = "asc".equalsIgnoreCase(sortDir); + + switch (sortBy) { + case "title": + items.sort((a, b) -> ascending ? + a.getTitle().compareTo(b.getTitle()) : + b.getTitle().compareTo(a.getTitle())); + break; + case "meeting": + items.sort((a, b) -> ascending ? + a.getMeetingDate().compareTo(b.getMeetingDate()) : + b.getMeetingDate().compareTo(a.getMeetingDate())); + break; + case "modified": + default: + items.sort((a, b) -> ascending ? + a.getLastModifiedAt().compareTo(b.getLastModifiedAt()) : + b.getLastModifiedAt().compareTo(a.getLastModifiedAt())); + break; + } + } + + /** + * 통계 계산 + */ + private MinutesListResponse.Statistics calculateStatistics(List allItems, + String participationType, String userId) { + List filteredItems = allItems.stream() + .filter(item -> filterByParticipationType(item, participationType, userId)) + .collect(Collectors.toList()); + + long totalCount = filteredItems.size(); + long draftCount = filteredItems.stream() + .filter(item -> "DRAFT".equals(item.getStatus())) + .count(); + long completeCount = filteredItems.stream() + .filter(item -> "FINALIZED".equals(item.getStatus())) + .count(); + + return MinutesListResponse.Statistics.builder() + .totalCount(totalCount) + .draftCount(draftCount) + .completeCount(completeCount) + .build(); + } + private MinutesDetailResponse convertToMinutesDetailResponse(MinutesDTO minutesDTO) { return MinutesDetailResponse.builder() .minutesId(minutesDTO.getMinutesId()) diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java index aa0e1a2..f88d503 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java @@ -21,6 +21,17 @@ public class MinutesListResponse { private long totalCount; private int currentPage; private int totalPages; + private Statistics statistics; // 상태별 통계 + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class Statistics { + private long totalCount; + private long draftCount; + private long completeCount; + } @Getter @Builder @@ -34,9 +45,13 @@ public class MinutesListResponse { private int version; private LocalDateTime createdAt; private LocalDateTime lastModifiedAt; + private LocalDateTime meetingDate; // 회의 일시 private String createdBy; private String lastModifiedBy; + private int participantCount; // 참석자 수 private int todoCount; private int completedTodoCount; + private int completionRate; // 검증완료율 + private boolean isCreatedByUser; // 사용자가 생성한 회의록 여부 } } \ No newline at end of file From 6563bd16e66a8602e940eba6a055918453048095 Mon Sep 17 00:00:00 2001 From: yabo0812 Date: Mon, 27 Oct 2025 14:05:55 +0900 Subject: [PATCH 02/31] =?UTF-8?q?=EC=9C=A0=EC=A0=80=EC=8A=A4=ED=86=A0?= =?UTF-8?q?=EB=A6=AC=20=EB=B0=8F=20UI/UX=20=EC=84=A4=EA=B3=84=EC=84=9C=20v?= =?UTF-8?q?2.4.0=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UFR-MEET-030 회의 진행 화면 개선 - AI 제안 탭 내 개인 메모 작성 기능 명확화 (수동 저장만 지원) - 하단 고정 버튼 역할별 차별화 - 회의 생성자: 일시정지/녹음재개 + 회의 종료 - 회의 참석자: 회의 나가기 - 예외처리 추가: 회의 종료/나가기 확인 모달 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- design/uiux/style-guide.md | 23 +- design/uiux/uiux.md | 431 ++++++++++++++++++++----------------- design/userstory.md | 51 +++-- 3 files changed, 285 insertions(+), 220 deletions(-) diff --git a/design/uiux/style-guide.md b/design/uiux/style-guide.md index 0a3f274..3ba87b8 100644 --- a/design/uiux/style-guide.md +++ b/design/uiux/style-guide.md @@ -1,5 +1,14 @@ # 회의록 서비스 스타일 가이드 +## 문서 정보 +- **작성일**: 2025-10-21 +- **최종 수정일**: 2025-10-27 +- **작성자**: 강지수 (Product Designer), 이미준 (서비스 기획자), 도그냥 (서비스 기획자) +- **버전**: 1.3.1 +- **설계 철학**: Mobile First Design + +--- + ## 1. 디자인 철학 ### 핵심 원칙 @@ -368,8 +377,10 @@ - 02-대시보드: 최근 회의 카드, 내 회의록 카드 - 10-회의록상세조회: 회의록 정보 섹션 -### D-day 배지 -Todo 마감일 표시를 위한 D-day 배지 스타일입니다. +### D-day 배지 (참고용) +**⚠️ MVP 스코프 축소 (v1.3.1)**: D-day 배지는 09-Todo관리 화면에서만 사용됩니다. 10-회의록상세조회 및 11-회의록수정 화면에서는 Todo 단순 조회만 제공하므로 D-day 배지가 표시되지 않습니다. + +Todo 마감일 표시를 위한 D-day 배지 스타일입니다 (09-Todo관리 화면 전용). ```css /* D-Day (오늘 마감) */ @@ -1277,7 +1288,7 @@ Todo 마감일 표시를 위한 D-day 배지 스타일입니다. - 참석자 관리 (추가/삭제) - 회의록 최종 확정 - 검증 완료된 안건 잠금 해제 - - 모든 Todo 수정 (담당자 변경 포함) + - ~~모든 Todo 수정 (담당자 변경 포함)~~ **MVP 스코프 축소 (v1.3.1)**: Todo 편집 기능 제거 - **사용 예시**: - "회의 생성자 전용 기능" - "회의 생성자만 회의를 종료할 수 있습니다" @@ -1288,11 +1299,11 @@ Todo 마감일 표시를 위한 D-day 배지 스타일입니다. - 회의록 조회 - 안건 편집 (검증 완료 전) - 안건 검증 - - 본인의 Todo 수정 (담당자 변경 불가) + - ~~본인의 Todo 수정 (담당자 변경 불가)~~ **MVP 스코프 축소 (v1.3.1)**: Todo 편집 기능 제거, 단순 조회만 가능 - 회의록 목록 조회 (본인이 참석한 회의만) - **사용 예시**: - "모든 참석자가 편집할 수 있습니다" - - "참석자는 본인의 Todo만 수정 가능합니다" + - ~~"참석자는 본인의 Todo만 수정 가능합니다"~~ **변경 (v1.3.1)**: "Todo는 조회만 가능합니다" ### 사용하지 않는 용어 - ❌ "회의록 작성자" - 명확하지 않으므로 사용 금지 @@ -1304,6 +1315,8 @@ Todo 마감일 표시를 위한 D-day 배지 스타일입니다. | 버전 | 날짜 | 작성자 | 변경 내용 | |------|------|--------|----------| +| 1.3.1 | 2025-10-27 | 강지수 | MVP 스코프 축소 v2.4.0 반영 (Todo 관련 섹션 수정)
- **D-day 배지 섹션**: 참고용으로 변경, 09-Todo관리 화면에서만 사용됨을 명시
- 10-회의록상세조회 및 11-회의록수정 화면에서는 Todo 단순 조회만 제공
- **사용자 역할 용어**: 권한 설명 업데이트
- 회의 생성자: "모든 Todo 수정" 권한 제거됨 (취소선 표시)
- 회의 참석자: "본인의 Todo 수정" 권한 제거됨 (취소선 표시)
- Todo는 조회만 가능하도록 변경
- **일관성 유지**: UI/UX 설계서 v1.5.1과 동기화 | +| 1.3.0 | 2025-10-24 | 이미준 | 사용자 역할 용어 통일 (유저스토리 v2.1.2 반영)
- **용어 정의 섹션 추가**: "회의 생성자"와 "회의 참석자" 용어 명확히 정의
- 회의 생성자: 회의 예약을 생성한 사용자, 회의 시작/종료/최종 확정 권한
- 회의 참석자: 회의에 참석하는 모든 사용자 (생성자 포함), 회의록 편집/조회 권한
- **사용하지 않는 용어 명시**: "회의록 작성자", "작성자" 용어 사용 금지
- **권한 상세 설명**: 생성자 전용 기능, 참석자 공통 기능 구체화
- **일관성 달성**: 유저스토리, 화면설계서, 스타일 가이드 간 용어 완전 통일 | | 1.0 | 2025-10-21 | 최유진 | 최초 작성 - reference/sampleimg 샘플 이미지 기반 스타일 가이드 작성 | | 1.0.1 | 2025-10-21 | 이미준 | 네비게이션 간소화 및 인터랙션 개선
- 설정 메뉴를 프로필 메뉴로 통합 (사이드바, 하단 네비게이션)
- 로그아웃 및 개인 설정 기능은 프로필 영역에서 접근
- Todo 항목 클릭 시 회의록 상세 화면으로 이동하는 인터랙션 추가
- 네비게이션 메뉴 항목: 대시보드, 회의 목록, Todo 관리, 프로필 (4개 항목) | | 1.1 | 2025-10-21 | 이미준 | 반응형 네비게이션 및 2열 레이아웃 패턴 추가
- **반응형 네비게이션 전략**: Mobile (하단 네비게이션), Desktop (왼쪽 사이드바 240px)
- **사이드바 네비게이션 (Desktop)**: 로고 영역, 메뉴 항목 (대시보드/회의 목록/Todo 관리), 사용자 정보 영역
- **하단 네비게이션 (Mobile)**: 홈/회의록/Todo/프로필 (4개 메뉴)
- **2열 레이아웃 패턴**: 회의 진행 화면용 (왼쪽 65% 에디터, 오른쪽 35% 탭 패널)
- **탭 네비게이션 사용 예시**: 회의록 상세 (2개 탭), 회의 진행 (4개 탭) | diff --git a/design/uiux/uiux.md b/design/uiux/uiux.md index f4f16a9..9e24ad9 100644 --- a/design/uiux/uiux.md +++ b/design/uiux/uiux.md @@ -2,9 +2,9 @@ ## 문서 정보 - **작성일**: 2025-10-21 -- **최종 수정일**: 2025-10-25 +- **최종 수정일**: 2025-10-27 - **작성자**: 이미준 (서비스 기획자) -- **버전**: 1.4.20 +- **버전**: 1.5.1 - **설계 철학**: Mobile First Design --- @@ -207,20 +207,25 @@ graph TD ### 02-대시보드 #### 개요 -- **목적**: 주요 기능 접근 허브, 최근 활동 및 Todo 요약 제공 -- **관련 유저스토리**: 여러 유저스토리의 진입점, UFR-MEET-030 (회의록 조회), UFR-TODO-010 (Todo 조회) +- **목적**: 주요 기능 접근 허브, 최근 활동 요약 제공 +- **관련 유저스토리**: UFR-USER-020 (대시보드 조회) - **비즈니스 중요도**: 필수 - **접근 경로**: 로그인 후 메인 화면 -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 빠른 회의 시작 및 예약 2. **예정된/진행중 회의 목록** (upcoming & ongoing meetings) - 예정된 회의 (아직 시작 전) - 진행중 회의 (참여 가능한 회의) -3. **내 Todo 우선순위별 표시** (지연중 → 진행중 → 미진행 → 완료, 최대 5개) -4. **내 회의록** (참여자/생성자로 등록된 최근 3개, 상태 포함) +3. **통계 정보 표시** (예정된 회의, 작성중 회의록) +4. **내 회의록** (참여자/생성자로 등록된 최근 4개, 상태 포함) 5. 전역 검색 +**변경사항 (v1.5.0)**: +- ❌ 제거: "내 Todo" 섹션 및 Todo 관리 메뉴 +- ✅ 추가: "작성중 회의록" 통계 카드 +- ✅ 변경: 네비게이션 간소화 (대시보드, 회의록만 유지) + #### UI 구성요소 **Mobile (320px~768px)** @@ -231,14 +236,15 @@ graph TD - 예정된 회의가 없을 경우: "예정된 회의가 없습니다" - **메인 콘텐츠** (스크롤, padding-bottom: 80px, background: gray-50) - - **통계 카드 컴팩트 배치** (단일 카드) - **개선안 A 적용 (v1.5)** - - 제목: "📊 오늘의 현황" (H5, Semibold) - - 수평 배치 (flex, space-around): - - "📅 예정 {N}" (Icon + Label + Value) - - "✅진행 {N}" (Icon + Label + Value) - - "📈 완료 {N}%" (Icon + Label + Value) - - 높이: ~80px (기존 대비 70% 감소) - - 반응형: 태블릿 이상에서 justify-content: flex-start, gap 증가 + - **통계 카드** (2열 그리드) - **v1.5.0 변경** + - "📅 예정된 회의" 카드 + - 값: 전체 예정 + 진행 중 회의 개수 + - 클릭 액션: 없음 (정보 표시만) + - "📝 작성중 회의록" 카드 + - 값: 내가 참석한 회의 중 '작성중' 상태인 회의록 개수 + - 클릭 액션: 없음 (정보 표시만) + - 높이: ~80px + - 반응형: 태블릿 이상에서 간격 증가 - **최근 회의** 섹션 - 헤더: "예정된 회의" (H4) + "전체 보기 →" 링크 @@ -270,26 +276,9 @@ graph TD - 타이머 표시: "10분 후 참여 가능" (시작 시간까지 남은 시간) - 빈 상태: "예정된 회의가 없습니다" - - **내 Todo** 카드 (개선) - - 헤더: "내 Todo" (H4) + "전체 보기 →" 링크 (Todo 관리 화면으로 이동) - - **통계 요약 영역**: - - 진행 중 개수 배지 - - 마감 임박 개수 (아이콘: schedule, 경고색) - - **Todo 리스트** (우선순위 순, 최대 5개): - 1. 지연 중 (기한 지남, 빨간색) - 2. 진행 중 (상태: in_progress) - 3. 기한이 남은 미진행 (상태: not_started) - 4. 완료 (상태: done, 회색 처리) - - 각 Todo 항목: - - 제목 (Medium weight) - - 메타정보: 담당자, 마감일 - - D-day (색상: 지남-빨강, 오늘-경고, 여유-회색) - - 우선순위 배지 (high-빨강, medium-노랑, low-회색) - - 빈 상태: "할당된 Todo가 없습니다" - - - **내 회의록** 카드 (개선) + - **내 회의록** 카드 - **v1.5.0 변경 (Todo 섹션 제거)** - 헤더: "내 회의록" (H4) + "전체 보기 →" 링크 (회의록 목록 화면으로 이동) - - **최근 회의록 리스트** (최대 3개): + - **최근 회의록 리스트** (최대 4개, 2x2 그리드): - 필터: 내가 참여자 또는 생성자로 등록된 회의록 - 정렬: 최근 생성 순 (createdAt 기준) - 각 항목: @@ -297,14 +286,16 @@ graph TD - 회의 일시 (날짜 + 시간) - 참석자 수 - **상태 배지**: - - "작성중" (draft, 노란색 배지) + - "작성중" (draft, 주황색 배지) - "확정완료" (confirmed, 초록색 배지) - - 최종 수정 시간 (상대 시간: "1시간 전", "어제" 등) + - 검증완료율 표시 (작성중인 경우만) - 클릭 시: 회의록 상세 화면으로 이동 - - 빈 상태: "작성한 회의록이 없습니다. 첫 회의를 시작해보세요!" + - 빈 상태: "참여한 회의록이 없습니다" -**Mobile (320px~768px)** -- **하단 네비게이션**: [Mobile 하단 네비게이션](#mobile-하단-네비게이션-320px768px) 참조 (홈 활성) +**Mobile (320px~768px)** - **v1.5.0 네비게이션 간소화** +- **하단 네비게이션**: 2개 메뉴만 표시 + - 홈 (대시보드) - 활성 상태 + - 회의록 (회의록 목록) **Tablet/Desktop (768px+)** - **좌측 사이드바**: [Desktop 좌측 사이드바](#desktop-좌측-사이드바-768px) 참조 (대시보드 활성) @@ -628,22 +619,27 @@ graph TD #### 개요 - **목적**: 실시간 회의 진행 및 AI 기반 회의록 자동 작성 -- **관련 유저스토리**: UFR-MEET-030, UFR-STT-010/020, UFR-AI-010, UFR-AI-040, UFR-COLLAB-010, UFR-RAG-010/020, UFR-PART-010/020/030, UFR-HOST-010/020, UFR-TERM-010/020 +- **관련 유저스토리**: UFR-MEET-030, UFR-STT-010/020, UFR-AI-010, UFR-AI-040, UFR-COLLAB-010, UFR-RAG-010/020, UFR-PART-020, UFR-HOST-010/020, UFR-TERM-010/020 - **비즈니스 중요도**: 높음 (핵심 화면) - **접근 경로**: 대시보드 → "참여하기" 버튼 (페이지 전환) - **권한** (MVP 개선): - **회의 생성자 전용**: 회의 종료, 녹음 제어 (일시정지/재개/종료) - - **모든 참석자**: 회의 참여, AI 주요 내용 체크, 용어 확인, 관련 회의록 확인, 중도 퇴장 + - **모든 참석자**: 회의 참여, AI 기반 메모 작성, 용어 확인, 관련 회의록 확인, 중도 퇴장 -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 음성 녹음 및 실시간 텍스트 변환 (STT) 2. AI 자동 회의록 작성 (구조화) -3. **AI 기반 주요 메모 항목 실시간 제안** (UFR-MEET-030) +3. **AI 기반 메모 작성** (UFR-PART-020): AI가 실시간으로 감지한 주요 내용을 참석자가 선택하여 개인 메모로 저장 4. 전문용어 자동 감지 및 맥락 기반 설명 5. **참고자료 자동 연결** (이전 회의록, 관련 회의록) 6. 참석자 관리 및 초대 기능 7. 회의 진행 시간 표시 +**변경사항 (v1.5.0)**: +- ✅ 변경: "AI 제안" 탭 → "AI 기반 메모" 탭으로 기능 변경 +- ✅ 추가: 개인 메모 입력 및 저장 기능 (각 참석자별 개별 저장) +- ✅ 정책: 메모는 회의 종료 전까지만 표시/편집 가능, 다른 참석자 메모는 볼 수 없음 + #### UI 구성요소 **전체 레이아웃** @@ -654,7 +650,7 @@ graph TD - **메인 콘텐츠 영역: 정보 패널** (탭 구조) - **탭 네비게이션** (4개 탭) - 참석자 (3명) - - AI 제안 + - AI 기반 메모 - 용어 사전 - 관련 자료 (32건) @@ -676,17 +672,69 @@ graph TD - flex layout, 하단 구분선 (마지막 제외) - 상태 표시 제거됨 (발언 중/온라인 등 표시 안 함) - - **AI 제안 탭** - - 제목: "AI 제안" - - **카드 디자인** (통일된 스타일): - - 배경: 연한 회색 (#FAFAFA) - - 테두리: 회색 점선 (1px dashed #D0D0D0) - - 테두리 둥글기: 8px - - 내부 패딩: 16px - - 카드 간 여백: 16px - - 헤더 폰트: 16px Bold, 민트 그린 (#4DD5A7) - - 본문 폰트: 14px, gray-700 - - 구조: 헤더 + 본문 텍스트 + 액션 버튼 + - **AI 기반 메모 탭** (UFR-PART-020) + - 제목: "AI 기반 메모" + + - **메모 입력 영역** (상단): + - **메모 입력 텍스트박스**: + - placeholder: "메모를 입력하세요..." + - 다중 행 입력 지원 (textarea) + - 배경: 화이트 (#FFFFFF) + - 테두리: 회색 실선 (1px solid #E5E7EB) + - 테두리 둥글기: 8px + - 내부 패딩: 12px + - 최소 높이: 80px + - **저장 버튼**: + - 텍스트: "저장" + - 스타일: btn btn-primary (민트 그린) + - 위치: 메모 입력창 하단 우측 + - 여백: 상단 8px + - **구분선**: + - 메모 입력 영역 하단에 회색 구분선 (1px solid #E5E7EB) + - 상하 여백: 16px + + - **AI가 감지한 주요 내용 영역** (하단): + - **섹션 헤더**: + - 텍스트: "AI가 감지한 주요 내용" + - 폰트: 16px Bold, gray-800 + - 하단 여백: 12px + + - **주요 내용 리스트**: + - **리스트 아이템 디자인**: + - 배경: 연한 회색 (#FAFAFA) + - 테두리: 회색 점선 (1px dashed #D0D0D0) + - 테두리 둥글기: 8px + - 내부 패딩: 12px + - 아이템 간 여백: 8px + - 호버 시: 민트 그린 배경 (#E8F9F3), 커서 포인터 + + - **아이템 구조**: + - 시간 태그 (좌측): + - 형식: "[HH:MM]" + - 폰트: 12px Bold, 민트 그린 (#4DD5A7) + - 배경: 민트 그린 연한 배경 (#E8F9F3) + - 패딩: 4px 8px + - 테두리 둥글기: 4px + - 주요 내용 텍스트 (우측): + - 폰트: 14px, gray-700 + - flex-grow: 1 + - 좌측 여백: 8px + + - **아이템 예시**: + - `[15:32] 예산 책정 관련 결정` + - `[15:35] 다음 회의 일정 합의` + - `[15:38] API 설계 패턴 논의` + - `[15:42] 마이크로서비스 아키텍처 채택` + + - **클릭 인터랙션**: + - 아이템 클릭 시 → 메모 입력창에 "[시간] 내용" 형식으로 자동 추가 + - 기존 메모가 있으면 줄바꿈 후 추가 + - 입력된 메모는 수정 가능 + + - **정책**: + - 각 참석자별로 개별 저장 (다른 참석자의 메모는 볼 수 없음) + - 메모는 회의 종료 전까지만 표시 및 편집 가능 + - 회의 종료 시 AI가 회의록 생성할 때 모든 참석자의 메모 참조 - **용어 사전 탭** - 제목: "용어 사전" @@ -792,15 +840,26 @@ graph TD - 상태 표시 없음 (발언 중/온라인 등 제거) - 참석자 수 동적 업데이트 (초대 성공 시) - - **AI 제안 탭**: AI가 생성한 주요 메모 항목 제안 (UFR-MEET-030) - - **실시간 주요 메모 추천**: + - **AI 기반 메모 탭** (UFR-PART-020): AI가 감지한 주요 내용을 참석자가 선택하여 개인 메모로 저장 + - **메모 작성 및 저장**: + - 메모 입력창에 자유롭게 메모 작성 가능 + - "저장" 버튼 클릭 시 개인 메모로 저장 (각 참석자별 개별 저장) + - 저장 성공 시 "{n}개의 메모가 저장되었습니다" 성공 토스트 + - 저장 실패 시 "메모 저장에 실패했습니다" 오류 토스트 + - **AI가 감지한 주요 내용**: - 음성→텍스트 변환 후 AI가 실시간으로 회의 내용 분석 - - **중요한 내용으로 판단된 경우에만** 주요 메모 항목 제안 - - 논의항목/결정사항 등의 구분 없이 중요 내용을 주요 메모로 제안 - - 추천 빈도는 중요 내용 발생에 따라 가변적 (고정 간격 아님) - - 각 제안 항목에 "주요 메모에 추가" 버튼 제공 - - 클릭 시 해당 안건의 주요 메모에 자동 저장 - - 실시간 업데이트: 새로운 제안은 상단에 표시 + - **중요한 내용으로 판단된 경우에만** 주요 내용 항목 표시 + - 각 항목: "[시간] 주요 내용 텍스트" 형식 (예: "[15:32] 예산 책정 관련 결정") + - 실시간 업데이트: 새로운 항목은 하단에 추가 + - 항목 클릭 시: + 1. 메모 입력창에 "[시간] 내용" 형식으로 자동 추가 + 2. 기존 메모가 있으면 줄바꿈 후 추가 + 3. 입력된 메모는 수정 가능 (자동/수동 구분 표시) + 4. 저장 버튼 활성화 + - **정책**: + - 메모는 회의 종료 전까지만 표시/편집 가능 + - 각 참석자의 메모는 다른 참석자에게 보이지 않음 + - 회의 종료 시 AI가 모든 참석자의 메모를 참조하여 회의록 생성 - **용어 사전 탭**: 회의에서 언급된 전문용어 설명 - **용어 검색 기능**: @@ -840,24 +899,25 @@ graph TD - 참석자 초대 이메일 - **출력**: - 실시간 텍스트 변환 결과 (STT) - - **AI 제안 목록** (주요 메모 항목 제안) + - **AI가 감지한 주요 내용 목록** (시간 + 내용) + - **개인 메모** (각 참석자별 개별 저장) - **전문용어 및 설명** (용어 사전) - **관련 회의록 목록** (32건, 관련도 포함) - 참석자 목록 - **연동**: - STT 서비스 (UFR-AI-010) - - AI 서비스 (주요 메모 제안 생성, UFR-AI-040) + - AI 서비스 (주요 내용 감지, UFR-AI-040) - RAG 서비스 (관련 회의록 검색, 전문용어 자동 감지) - - Collaboration 서비스 (실시간 동기화) + - PARTICIPANT 서비스 (메모 저장, UFR-PART-020) #### 에러 처리 - **마이크 권한 거부**: "마이크 권한이 필요합니다" 토스트 + 설정 안내 링크 - **STT 실패**: "음성 인식에 실패했습니다" 토스트 + 재시도 안내 -- **AI 제안 생성 실패**: "AI 제안을 불러올 수 없습니다" 토스트 +- **AI 주요 내용 감지 실패**: "AI 주요 내용 감지에 실패했습니다" 토스트 (회의 계속 진행 가능) +- **메모 저장 실패**: "메모 저장에 실패했습니다" 토스트 + 재시도 버튼 - **용어 사전 로드 실패**: "용어 사전을 불러올 수 없습니다" 메시지 표시 - **관련 자료 검색 실패**: "관련 회의록을 찾을 수 없습니다" 메시지 표시 - **참석자 초대 실패**: "초대 링크 전송에 실패했습니다" 토스트 + 재시도 버튼 -- **동기화 실패**: "네트워크 연결을 확인해주세요" 토스트 - **회의 종료 실패**: "회의 종료 중 오류가 발생했습니다" 토스트 + 재시도 버튼 --- @@ -1157,27 +1217,34 @@ graph TD #### 개요 - **목적**: 지난 회의록의 전체 내용 및 상세 정보 확인 -- **관련 유저스토리**: UFR-MEET-047, UFR-AI-040 +- **관련 유저스토리**: UFR-MEET-047, UFR-AI-040, UFR-MEET-048 - **비즈니스 중요도**: 중간 -- **접근 경로**: 대시보드 → "내 회의록" 항목 클릭 또는 Todo관리 → 회의록 링크 +- **접근 경로**: 대시보드 → "내 회의록" 항목 클릭 - **권한**: 모든 회의 참석자 (조회 전용) -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 회의 기본 정보 표시 2. **안건별 AI 요약 표시** (안건 최상단) 3. 안건별 상세 내용 표시 4. **참고자료 표시** (안건 하단) -5. Todo 항목 및 진행 상황 표시 +5. **Todo 단순 조회** (UFR-MEET-047): 제목, 담당자만 표시 (D-day, 우선순위 라벨 제거) 6. 첨부파일 다운로드 7. 회의록 수정/공유 액션 +**변경사항 (v1.5.0)**: +- ❌ 제거: Todo 관리 화면 연동 링크 (화면 자체가 제거됨) +- ❌ 제거: Todo D-day 라벨, 우선순위 배지 표시 +- ✅ 변경: Todo는 단순 조회만 가능 (제목 + 담당자 + 마감일만 표시) +- ✅ 변경: "수정" 버튼을 회의 제목 우측으로 이동 + #### UI 구성요소 **Mobile (320px~768px)** - **헤더** - 뒤로가기 버튼 - 회의 제목 - - 메뉴 버튼 (수정, 삭제) + - "수정" 버튼 (회의 제목 우측, 아이콘 또는 텍스트 버튼) + - 메뉴 버튼 (삭제, 공유 등) - **기본 정보 카드** - 회의 일시 @@ -1221,14 +1288,12 @@ graph TD - 결정사항 카드 리스트 - 각 카드: 결정 내용 + 결정자 + 시간 + 배경 설명 - - **Todo 진행상황 섹션** (📋) - - **전체 진행률 표시**: 상단에 원형 진행 바 (완료 Todo 개수 / 전체 Todo 개수) - - 진행률 퍼센트 중앙 표시 (예: "60%") - - 색상: Primary 색상 (#4DD5A7) - - 크기: 80px (Desktop), 60px (Mobile) - - 상태별 필터 탭 (전체/시작 전/진행 중/완료) - - 담당자별 그룹화 - - 각 Todo: 제목 + 마감일 + 우선순위 배지 (개별 진행률 바 제거) + - **Todo 진행상황 섹션** (📋) - MVP 스코프 축소 + - **단순 조회만 제공** (UFR-MEET-047) + - Todo 리스트: + - 각 Todo: 제목 + 담당자 + 마감일만 표시 + - ❌ 제거: D-day 라벨, 우선순위 배지, 진행률 바, 상태별 필터 + - ❌ 제거: Todo 관리 화면 연동 (클릭 액션 없음) - **참고자료 섹션** (📚) - 참고자료 탭 (관련 회의록/프로젝트 문서/이슈 트래커/위키 페이지) @@ -1237,21 +1302,20 @@ graph TD - 관련도 점수 배지 (92%, 88% 등) - 2-3줄 요약 - - **Todo 섹션** (강조) + - **Todo 섹션** (단순 조회) - MVP 스코프 축소 - Todo 항목 리스트: - - 체크박스 (완료/미완료) - - Todo 내용 + - Todo 내용 (제목) - 담당자 이름 - 마감일 - - 우선순위 배지 + - ❌ 제거: 체크박스, 우선순위 배지, D-day 라벨 - **첨부파일 섹션** - 파일 아이콘 + 파일명 - 다운로드 버튼 -- **하단 액션 바** (Fixed) - - "수정" 버튼 (권한 있는 경우만) +- **하단 액션 바** (Fixed) - MVP 스코프 축소 - "공유" 버튼 + - ❌ 제거: "수정" 버튼 (헤더로 이동) **Tablet/Desktop (768px+)** - **상단**: 탭 네비게이션 @@ -1279,25 +1343,24 @@ graph TD - 관련도 색상 코딩: 90%+ (초록), 70-89% (노랑), 70% 미만 (회색) - "더보기" 클릭 → 전체 참고자료 목록 모달 -3. **대시보드 탭 인터랙션** +3. **대시보드 탭 인터랙션** - MVP 스코프 축소 - **핵심내용 섹션**: - 키워드 태그 클릭 → 해당 키워드 관련 안건으로 스크롤 - 통계 항목 클릭 → 상세 정보 툴팁 표시 - **결정사항 섹션**: - 결정사항 카드 클릭 → 회의록 탭의 해당 안건으로 이동 - 배경 설명 접기/펼치기 - - **Todo 진행상황**: - - 필터 탭 클릭 → 해당 상태의 Todo만 표시 - - Todo 카드 클릭 → Todo관리 화면으로 이동 - - 진행률 바: 실시간 업데이트 + - **Todo 진행상황** (단순 조회만): + - ❌ 제거: 필터 탭, 진행률 바, Todo 관리 화면 연동 + - Todo는 읽기 전용으로만 표시 (클릭 액션 없음) - **참고자료 섹션**: - 탭 전환 (관련 회의록/프로젝트 문서/이슈 트래커/위키 페이지) - 참고자료 카드 클릭 → 해당 문서로 이동 - 관련도 점수: 배지로 표시 (92%, 88% 등) -4. **Todo 인터랙션** - - Todo 체크박스: 완료 처리 (권한 있는 경우) - - Todo 클릭: Todo관리 화면으로 이동 +4. **Todo 인터랙션** - MVP 스코프 축소 + - ❌ 제거: Todo 체크박스, Todo 관리 화면 연동 + - Todo는 단순 조회만 가능 (클릭 액션 없음) 5. **첨부파일 다운로드** - 파일명 클릭: 다운로드 시작 @@ -1342,33 +1405,43 @@ graph TD #### 개요 - **목적**: 지난 회의록 조회 및 수정 -- **관련 유저스토리**: UFR-MEET-055, UFR-AI-040, **UFR-TODO-040 (Todo 수정)** +- **관련 유저스토리**: UFR-MEET-055, UFR-AI-040, UFR-COLLAB-020 - **비즈니스 중요도**: 중간 - **접근 경로**: 10-회의록상세조회 → 하단 액션 바 "수정" 버튼 클릭 - **권한 제어**: - **검증완료 전**: 모든 참석자가 수정 가능 - **검증완료 후**: 회의 생성자만 수정 가능 (참석자는 "수정" 버튼 비활성화) -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 회의 기본 정보 표시 및 수정 - 회의 제목: 수정 가능 - 회의 일시/장소: 읽기 전용 (회의 예약 화면에서만 변경 가능) - 참석자 관리: 회의 생성자만 추가/삭제 가능 2. **회의록 내용 수정 (안건별)** - 용어 변경: 섹션 → 안건 -3. **AI 한줄 요약 표시 (안건별, UFR-AI-036)** - 신규 +3. **AI 한줄 요약 표시 (안건별, UFR-AI-036)** - 편집 불가능한 AI 한줄 요약 (30자 이내) - 각 안건 최상단에 표시 -4. **AI 상세 요약 수정 (안건별)** - 기존 AI 요약 기능 + - **재생성 제한**: AI 한줄 요약만 재생성 불가 (회의 종료 시 1회만 생성) +4. **AI 상세 요약 수정 (안건별)** + - 직접 수정 가능 + - "AI 재생성" 버튼으로 재생성 가능 (한줄 요약은 재생성 안 됨) 5. **참고자료 편집** (추가/제거) -6. **Todo 수정 (UFR-TODO-040)** - 회의 생성자만 -7. **안건별 검증 (UFR-COLLAB-030)** - 신규 - - 안건별 검증 완료 체크박스 - - 회의 생성자: 잠금 해제 후 수정 가능 - - 참석자: 읽기 전용 +6. **Todo 단순 조회** (제목 + 담당자 + 마감일만 표시) +7. **안건별 검증 완료 체크박스 (UFR-COLLAB-020)** + - 회의 생성자: 검증 완료 체크박스 활성화, 잠금 해제 후 수정 가능 + - 참석자: 검증완료 안건은 읽기 전용 8. 자동 저장 (30초 간격) 9. 수정 이력 관리 10. 상태 변경 (검증완료 → 작성중으로 자동 변경) +**변경사항 (v1.5.0)**: +- ❌ 제거: 실시간 협업 표시 ("편집 중" 표시 제거) +- ❌ 제거: Todo 편집 기능 (체크박스, 담당자/마감일/우선순위 변경, 추가/삭제) +- ❌ 제거: 검증률 표시 및 최종 확정 버튼 +- ✅ 변경: 안건별 검증 완료 체크박스로 충돌 방지 +- ✅ 변경: AI 한줄 요약 재생성 불가 (회의 종료 시 1회만 생성) +- ✅ 정책: Last Write Wins (마지막 저장 우선) 적용 + #### UI 구성요소 **Mobile (320px~768px)** @@ -1389,23 +1462,22 @@ graph TD - "참석자 추가" 버튼 (이메일 입력 + 초대) - 회의록 상태 배지 (자동 관리) -- **편집 화면** +- **편집 화면** (MVP 스코프 축소) - **안건별 편집 영역** (용어 변경: 섹션 → 안건) - 각 안건: - **안건 헤더** - 안건 제목 (H4, Bold) - 검증 상태 배지 (검증완료/미검증) - - 편집 중 표시 (동시 편집 시) - - 다른 사용자 아바타 + 이름 - - 예: "김민준님 편집 중" (아이콘 + 텍스트) - - **AI 한줄 요약** (편집 불가, UFR-AI-036) - 신규 + - ❌ 제거: "편집 중" 표시 (실시간 협업 기능 제거) + - **AI 한줄 요약** (편집 불가, UFR-AI-036) - 🔒 아이콘 + 30자 이내 한줄 요약 - 읽기 전용 (회색 배경, 민트 그린 좌측 액센트 라인) - 호버 시: "이 내용은 편집할 수 없습니다" 툴팁 + - ❌ 제거: "AI 재생성" 버튼 (한줄 요약은 회의 종료 시 1회만 생성) - **AI 상세 요약 편집 영역** - - 💡 "AI 상세 요약" 레이블 (명칭 변경) + - 💡 "AI 상세 요약" 레이블 - 요약 텍스트 편집 필드 (textarea) - - "AI 재생성" 버튼 (요약 다시 생성) + - "AI 재생성" 버튼 (상세 요약만 재생성 가능) - 마지막 수정 시간 표시 - 편집 가능한 텍스트 영역 - 논의 주제 @@ -1416,18 +1488,14 @@ graph TD - 기존 참고자료 목록 (제거 버튼 포함) - "참고자료 추가" 버튼 - 회의록 검색 및 선택 UI - - **Todo 섹션 편집 영역** (회의 생성자만) - - Todo 목록 표시 + - **Todo 섹션 단순 조회** (편집 불가) + - Todo 목록 표시 (읽기 전용) - 각 Todo 항목: - - 체크박스 (완료 상태) - Todo 제목 - - 담당자 (변경 가능) - - 마감일 (변경 가능) - - 우선순위 (변경 가능) - - "편집" 버튼 (인라인 편집 활성화) - - "삭제" 버튼 - - "Todo 추가" 버튼 - - **안건별 검증 영역** (UFR-COLLAB-030) - 신규 + - 담당자 + - 마감일 + - ❌ 제거: 체크박스, 우선순위 배지, D-day 라벨, 편집/삭제 버튼 + - **안건별 검증 영역** (UFR-COLLAB-020) - **회의 생성자 화면**: - 검증 완료 체크박스 (활성화) - "잠금 해제" 버튼 (검증완료 안건만 표시) @@ -1456,38 +1524,36 @@ graph TD - 자동 저장: 30초 간격, 인디케이터 표시 - 수동 저장: "저장" 버튼 클릭 -3. **AI 한줄 요약 확인 (UFR-AI-036)** - 신규 +3. **AI 한줄 요약 확인 (UFR-AI-036)** - MVP 스코프 축소 - **읽기 전용 표시**: - 🔒 아이콘으로 편집 불가 명시 - 회색 배경 + 민트 그린 좌측 액센트 라인 - **호버 인터랙션**: - - 툴팁 표시: "이 내용은 편집할 수 없습니다" + - 툴팁 표시: "이 내용은 편집할 수 없습니다. 회의 종료 시 1회만 생성됩니다." - **위치**: 각 안건 최상단 (안건 제목 바로 아래) + - ❌ 제거: "AI 재생성" 버튼 (한줄 요약은 회의 종료 시 1회만 생성) -4. **AI 상세 요약 편집** +4. **AI 상세 요약 편집** - MVP 스코프 축소 - 요약 텍스트 필드 클릭: 직접 수정 가능 - "AI 재생성" 버튼 클릭: - - 현재 안건 내용 기반으로 상세 요약 재생성 + - 현재 안건 내용 기반으로 **상세 요약만** 재생성 (한줄 요약 제외) - 로딩 인디케이터 표시 - 생성 완료 시 자동 업데이트 - 자동 저장 (30초 간격) -5. **안건별 검증 (UFR-COLLAB-030)** - 신규 +5. **안건별 검증 완료 체크박스 (UFR-COLLAB-020)** - MVP 스코프 축소 - **회의 생성자 권한**: - 검증 완료 체크박스 클릭: - 체크: 안건 검증 완료 처리 (배지 "검증완료"로 변경) - 언체크: 미검증 상태로 변경 - "잠금 해제" 버튼 클릭 (검증완료 안건만 표시): - 확인 다이얼로그: "이 안건의 잠금을 해제하시겠습니까?" - - 확인 시: 안건 편집 가능 상태로 변경 + - 확인 시: 안건 검증 완료 체크 해제 → 편집 가능 상태로 변경 - **참석자 화면**: - 검증완료 안건: 🔒 "읽기 전용" 배지 표시 - 안내 텍스트: "(잠금됨 · 회의 생성자만 수정 가능)" - 모든 입력 필드 비활성화 (disabled) - - **검증률 계산 및 표시**: - - 검증률 = 검증 완료된 안건 수 / 전체 안건 수 - - 헤더에 검증률 표시 (예: "검증률: 70% (7/10)") - - 모든 안건 검증 완료 시 "최종 확정" 버튼 활성화 + - ❌ 제거: 검증률 계산 및 표시, "최종 확정" 버튼 6. **참고자료 편집** - "참고자료 추가" 버튼 클릭: @@ -1497,98 +1563,72 @@ graph TD - 제거 버튼 (X): 참고자료 목록에서 제거 - 순서 변경: 드래그하여 순서 조정 (선택) -7. **Todo 섹션 편집 (UFR-TODO-040)** (회의 생성자만) - - **권한 제어**: - - 회의 생성자만 Todo 섹션 편집 가능 - - 일반 참석자는 조회만 가능 (편집 버튼 숨김) - - **편집 버튼 클릭**: - - 인라인 편집 모드 활성화 - - **수정 가능 항목** (회의 생성자 권한): - - ✏️ Todo 제목 - - 👤 담당자 (드롭다운 선택, 참석자 목록) - - 📅 마감일 (날짜 선택기) - - 🎯 우선순위 (high/medium/low) - - "저장" 버튼: 수정 완료 - - "취소" 버튼: 편집 모드 취소 - - **수정 완료 시**: - - "Todo가 수정되었습니다" 토스트 메시지 - - 회의록 자동 저장 - - 담당자 변경 시: 이전/새 담당자에게 알림 발송 - - 마감일 변경 시: 캘린더 자동 업데이트 - - **Todo 추가**: - - "Todo 추가" 버튼 클릭 - - Todo 정보 입력 모달 (제목, 담당자, 마감일, 우선순위) - - 저장 시 Todo 목록에 추가 - - **Todo 삭제**: - - "삭제" 버튼 클릭 - - 확인 다이얼로그 ("삭제하시겠습니까?") - - 삭제 시 Todo 목록에서 제거 - - 담당자에게 삭제 알림 발송 +7. **Todo 섹션 단순 조회** - MVP 스코프 축소 + - ❌ 제거: Todo 편집/추가/삭제 기능 전체 제거 + - Todo는 읽기 전용으로만 표시 (제목 + 담당자 + 마감일) + - 모든 사용자 (생성자 포함)에게 조회만 가능 -8. **상태 변경** +8. **상태 변경** - MVP 스코프 축소 - 확정완료 회의록 수정 시: 자동으로 "작성중" 상태로 변경 - - 모든 안건 검증 완료 시: "확정완료"로 변경 제안 + - ❌ 제거: "확정완료"로 변경 제안 (검증률 기능 제거로 인해) +9. **저장 로직** - MVP 스코프 축소 + - **"저장" 버튼 클릭 시**: + - 검증완료된 안건: 저장 스킵 + - 미검증 안건: 저장 진행 + - **저장 결과 알림**: + - "N개 안건이 저장되었습니다" + - "M개 안건은 검증완료 상태로 저장되지 않았습니다" + - 저장 불가 안건 목록 표시 + - **자동 저장** (30초 간격): + - 미검증 안건만 자동 저장 + - 검증완료 안건은 자동 저장 스킵 -9. **안건 기반 충돌 해결 (UFR-COLLAB-020)** +10. **안건 기반 충돌 해결 (UFR-COLLAB-020)** - MVP 스코프 축소 - **안건 기반 충돌 방지 메커니즘**: - **다른 안건 동시 편집**: 충돌 없음 - - 참석자 A가 안건 1 편집 중 + - 참석자 A가 안건 1 편집 - 참석자 B가 안건 2 편집 가능 - - 양쪽 모두 정상 저장 및 동기화 + - 양쪽 모두 정상 저장 - - **동일 안건 내 다른 필드 편집**: 자동 병합 - - 참석자 A가 안건 1의 "상세 요약" 편집 - - 참석자 B가 안건 1의 "관련회의록" 편집 - - 양쪽 변경 사항 자동 병합 + - **동일 안건 검증 완료 체크로 충돌 방지**: + - 검증완료된 안건: 편집 불가 (회의 생성자만 잠금 해제 가능) + - 미검증 안건: Last Write Wins (마지막 저장 우선) - **동일 필드 동시 수정**: Last Write Wins - 마지막에 저장된 변경 사항이 적용 - - 덮어쓰기 경고: "다른 사용자가 이미 수정했습니다. 최신 내용을 확인하세요" - - 선택 옵션: 최신 내용 확인 / 내 변경 사항 유지 + - 별도 경고 없이 덮어쓰기 - - **편집 중 표시**: - - 다른 사용자가 편집 중인 안건 표시 - - 편집자 아바타 + 이름 실시간 표시 - - 예: "김민준님이 이 안건을 편집 중입니다" + 아바타 - - 편집 시작 시 해당 안건에 브로드캐스트 - - 편집 종료 시 표시 제거 + - ❌ 제거: 실시간 "편집 중" 표시 + - ❌ 제거: 충돌 경고 모달 및 선택 옵션 - - **충돌 경고 모달**: - - 제목: "동시 수정 감지" - - 메시지: "다른 사용자가 이미 이 내용을 수정했습니다" - - 옵션 버튼: - - "최신 내용 보기" (Primary): 다른 사용자 변경사항 로드 - - "내 변경사항 유지" (Secondary): 현재 내용 유지 (덮어쓰기) - -#### 데이터 요구사항 +#### 데이터 요구사항 (MVP 스코프 축소) - **입력**: - 회의록 ID (조회) - 수정 내용 (안건 ID, 내용) - 용어 변경: 섹션 → 안건 - - **AI 한줄 요약** (읽기 전용, 입력 불가) - 신규 + - **AI 한줄 요약** (읽기 전용, 입력 불가) - **AI 상세 요약 수정** (안건 ID, 요약 내용) - **참고자료 변경** (추가/제거할 회의록 ID) - - **안건별 검증 상태** (안건 ID, 검증 여부) - 신규 + - **안건별 검증 상태** (안건 ID, 검증 여부) - **출력**: - 회의록 목록 (필터/정렬/검색 결과) - 수정 결과 (성공/실패) - - **AI 한줄 요약** (회의 종료 시 생성, 편집 불가) - 신규 - - **AI 상세 요약 재생성 결과** + - **AI 한줄 요약** (회의 종료 시 생성, 편집 불가) + - **AI 상세 요약 재생성 결과** (한줄 요약 제외) - 수정 이력 (누가, 언제, 무엇을) - - **검증률** (검증 완료된 안건 수 / 전체 안건 수) - 신규 -- **연동**: Meeting 서비스, AI 서비스 (UFR-AI-010, UFR-AI-036, UFR-AI-040), Collaboration 서비스 (UFR-COLLAB-030) + - ❌ 제거: 검증률 출력 +- **연동**: Meeting 서비스, AI 서비스 (UFR-AI-010, UFR-AI-036, UFR-AI-040), PARTICIPANT 서비스 (UFR-COLLAB-020) -#### 에러 처리 +#### 에러 처리 (MVP 스코프 축소) - **권한 없음**: "본인이 작성한 회의록만 수정할 수 있습니다" - **자동 저장 실패**: "네트워크 연결을 확인해주세요. 로컬에 임시 저장됩니다" - **AI 요약 재생성 실패**: "요약 생성에 실패했습니다. 수동으로 작성해주세요" - **참고자료 검색 실패**: "회의록을 검색할 수 없습니다" -- **충돌 발생**: - - 안건 기반 충돌 방지로 최소화 - - 동일 필드 동시 수정 시: "다른 사용자가 이미 수정했습니다" 경고 모달 - - 선택 옵션: 최신 내용 확인 / 내 변경사항 유지 - - 병합 실패 시: "병합 중 오류가 발생했습니다" 에러 메시지 +- **검증완료 안건 저장 시도**: + - 저장 결과 알림: "N개 안건이 저장되었습니다. M개 안건은 검증완료 상태로 저장되지 않았습니다" + - 저장 불가 안건 목록 표시 - **삭제 실패**: "회의록 삭제에 실패했습니다" +- ❌ 제거: 충돌 경고 모달 (Last Write Wins 적용으로 인해) --- @@ -2068,6 +2108,7 @@ graph TD | 버전 | 날짜 | 작성자 | 변경 내용 | |------|------|--------|----------| +| 1.5.1 | 2025-10-27 | 강지수 | MVP 스코프 축소 v2.4.0 반영 (3개 화면 수정)
- **05-회의진행**: "AI 제안" 탭 → "AI 기반 메모" 탭 기능 변경
- 메모 입력창 + 저장 버튼 추가
- AI가 감지한 주요 내용 리스트 표시 (시간 + 내용)
- 각 참석자별 개별 저장, 다른 참석자 메모 볼 수 없음
- 메모는 회의 종료 전까지만 표시/편집 가능
- 에러 처리: AI 주요 내용 감지 실패, 메모 저장 실패 추가
- **10-회의록상세조회**: Todo 단순 조회 기능으로 변경
- Todo는 제목 + 담당자 + 마감일만 표시
- D-day 라벨, 우선순위 배지, 진행률 바, 상태별 필터 제거
- Todo 관리 화면 연동 링크 제거 (화면 자체가 제거됨)
- "수정" 버튼을 헤더로 이동
- **11-회의록수정**: 실시간 협업 기능 제거, 안건 기반 충돌 방지 강화
- "편집 중" 표시 제거 (실시간 협업 기능 제거)
- Todo 편집/추가/삭제 기능 전체 제거 (단순 조회만 가능)
- AI 한줄 요약 재생성 불가 (회의 종료 시 1회만 생성)
- 검증률 표시 및 최종 확정 버튼 제거
- 저장 로직 추가: 검증완료 안건 저장 스킵, 저장 결과 알림
- 안건별 검증 완료 체크박스로 충돌 방지 (Last Write Wins 적용)
- 에러 처리: 충돌 경고 모달 제거 (LWW로 인해) | | 1.4.20 | 2025-10-25 | 이미준, 강지수 | 유저스토리 v2.3.0 반영
- 회의 종료 화면 정책 명확화 (확인 전용, 바로 최종 확정 옵션 상세화)
- UFR-MEET-050: 최종 확정 2가지 시나리오 설명 추가
- UFR-COLLAB-020: 안건 기반 충돌 해결 메커니즘 상세 추가
- 실시간 협업 충돌 방지 정책 강화 | | 1.0 | 2025-10-21 | 이미준 | 최초 작성 - 11개 화면 설계 완료 | | 1.1 | 2025-10-21 | 이미준 | AI 요약 및 참고자료 기능 추가
- 05-회의진행: AI 회의 내용 요약 자동 생성 및 참고자료 자동 연결 추가
- 10-회의록상세조회: 섹션별 AI 요약 표시 및 참고자료 영역 추가
- 11-회의록수정: AI 요약 수정 및 참고자료 편집 기능 추가
- 관련 유저스토리: UFR-AI-040 (관련 회의록 자동 연결) | diff --git a/design/userstory.md b/design/userstory.md index 85daa61..f38f6ce 100644 --- a/design/userstory.md +++ b/design/userstory.md @@ -135,25 +135,23 @@ 2. 회의 제목 입력 (최대 100자) 3. 날짜 선택 (오늘 이후 날짜, 달력 UI) 4. 시작/종료 시간 선택 (15분 단위 커스텀 시간 선택기) -5. (선택) 종일 회의 토글 활성화 시 시간 입력 비활성화 -6. 온라인/오프라인 회의 선택 (토글) -7. 장소 입력 (최대 200자) +5. 온라인/오프라인 회의 선택 (토글) +6. 장소 입력 (최대 200자) - 오프라인: 예) 본사 2층 대회의실 - 온라인: 예) Zoom, Google Meet + 회의 링크 입력 또는 자동 생성 -8. 참석자 추가 (현재 사용자는 기본 포함) +7. 참석자 추가 (현재 사용자는 기본 포함) - "참석자 추가" 버튼 클릭 - 검색 모달에서 이름 또는 이메일로 검색 - 사용자 선택하여 추가 - 칩으로 표시, X 버튼으로 제거 가능 (본인 제외) -9. (선택) 안건 입력 (텍스트 영역) -10. "임시저장" 버튼 또는 "예약 완료" 버튼 클릭 +8. (선택) 안건 입력 (텍스트 영역) +9. "임시저장" 버튼 또는 "예약 완료" 버튼 클릭 **입력:** - 회의 제목: 텍스트 입력, 필수, 최대 100자, 문자 카운터 표시 - 날짜: date 타입, 필수, 오늘 이후 날짜만 선택 가능, 달력 아이콘(📅) 표시 - 시작 시간: 커스텀 시간 선택기 (readonly), 필수, 15분 단위 (00, 15, 30, 45) - 종료 시간: 커스텀 시간 선택기 (readonly), 필수, 15분 단위 -- 종일 회의: 토글 스위치 (선택) - 온라인 회의: 토글 스위치 (선택) - 장소: 텍스트 입력, 선택, 최대 200자, 문자 카운터 표시 - 회의 링크: URL 입력, 선택, 온라인 회의인 경우에만 표시, "자동 생성" 버튼 제공 @@ -218,15 +216,18 @@ ### UFR-MEET-020: [템플릿선택] 회의 생성자로서 | 나는, 회의록을 효율적으로 작성하기 위해 | 회의 유형에 맞는 템플릿을 선택하고 싶다. +**템플릿선택 진입 경로:** +- **경로 1**: 대시보드(02-대시보드.html) → "바로시작" FAB 버튼 → 템플릿 선택(04-템플릿선택.html) +- **경로 2**: 회의예약 (03-회의예약.html) → 템플릿 선택(04-템플릿선택.html) +- **수행절차:** -1. 대시보드에서 "바로시작" FAB 버튼 클릭 -2. 템플릿 선택 화면(04-템플릿선택.html) 표시 -3. 4가지 템플릿 중 선택 또는 "건너뛰기" 선택 +1. 위 경로 중 하나를 통해 템플릿 선택 화면(04-템플릿선택.html) 진입 +2. 4가지 템플릿 중 선택 또는 "건너뛰기" 선택 - 일반 회의: 회의 개요, 논의 사항, 결정 사항, 액션 아이템 - 스크럼 회의: 어제 한 일, 오늘 할 일, 블로커/이슈 - 킥오프 회의: 프로젝트 개요, 목표 및 범위, 역할 및 책임, 일정 및 마일스톤 - 주간 회의: 지난주 성과, 이번주 계획, 주요 이슈, 다음 액션 -4. 선택 완료 시 회의 시작 (05-회의진행.html로 이동) +3. 선택 완료 시 회의 시작 (05-회의진행.html로 이동) **입력:** - 템플릿 선택: 4가지 중 1개 선택 또는 건너뛰기 @@ -242,6 +243,7 @@ **관련 유저스토리:** - UFR-USER-020: 대시보드 조회 +- UFR-MEET-010: 회의예약 - UFR-MEET-030: 회의시작 --- @@ -260,11 +262,14 @@ 5. 웨이브폼 애니메이션 표시 (녹음 상태 시각화) 6. 탭 네비게이션으로 기능 전환: - 참석자: 참석자 목록 및 실시간 초대 - - AI 제안: 실시간 AI 분석 결과 및 메모 추가 - - 용어사전: 자동 추출된 용어 및 검색 - - 관련회의록: 자동 연결된 이전 회의록 -7. 회의 메모 작성 (하단 고정 메모 영역) -8. 일시정지 또는 회의 종료 버튼 클릭 + - AI 제안: 실시간 AI 분석 결과 및 개인 메모 작성 + - AI가 인식한 주요 내용 표시 + - 참석자별 개인 메모 작성 영역 (수동 저장만 지원) + - 용어사전: 실시간 AI 자동 인식된 용어 및 검색 + - 관련회의록: 실시간 AI 자동 연결된 이전 회의록 +7. 하단 고정 버튼 (역할별 차별화) + - 회의 생성자: [일시정지/녹음재개] + [회의 종료] + - 회의 참석자: [회의 나가기] **입력:** - 녹음 시작/일시정지: 버튼 클릭 @@ -275,16 +280,22 @@ - 헤더: 회의 제목, 녹음 상태 (녹음 중/일시정지), 경과 시간 - 웨이브폼 애니메이션: 녹음 상태 시각화 - 참석자 탭: 참석자 목록, 초대 버튼 -- AI 제안 탭: AI 분석 카드, "메모에 추가" 버튼 +- AI 제안 탭: + - AI가 인식한 주요 내용 리스트 + - 개인 메모 작성 영역 (참석자별 독립) + - 저장 버튼 (수동 저장만) - 용어사전 탭: 자동 추출된 용어, 검색 기능 - 관련회의록 탭: 자동 연결된 이전 회의록 목록 -- 하단 고정 버튼: 일시정지, 회의 종료 +- 하단 고정 버튼: + - 회의 생성자: [일시정지/녹음재개] + [회의 종료] + - 회의 참석자: [회의 나가기] **예외처리:** - 녹음 권한 없음: "마이크 권한이 필요합니다" 에러 메시지 - 네트워크 오류: "녹음 중 오류가 발생했습니다" 에러 메시지 - 일시정지 확인: "일시정지하시겠습니까?" 확인 모달 -- 종료 확인: "회의를 종료하시겠습니까?" 확인 모달 +- 회의 종료 확인 (생성자): "회의를 종료하시겠습니까? 모든 참석자의 회의가 종료됩니다" 확인 모달 +- 회의 나가기 확인 (참석자): "회의에서 나가시겠습니까? 저장하지 않은 메모는 삭제됩니다" 확인 모달 **관련 유저스토리:** - UFR-MEET-020: 템플릿선택 @@ -1395,7 +1406,7 @@ | 버전 | 날짜 | 작성자 | 변경 내용 | |------|------|--------|-----------| -| v2.4.0 | 2025-10-27 | 팀 전체 | • MVP 스코프 축소: Todo 관리 기능 제거
• UFR-USER-020 수정: 대시보드에서 "나의 Todo" 제거, "작성중 회의록" 추가
• UFR-PART-020 변경: AI주요내용체크 → AI기반메모작성 (메모 입력창 + AI 추천)
• UFR-AI-010 개선: 회의록 생성 시 참석자 메모 참조
• UFR-MEET-055 개선: 회의록 수정 시 실시간 협업 제거, 검증완료 체크로 보호
• TODO 서비스 전체 제거 (UFR-TODO-010/030/040)
• NOTIFICATION 서비스: Todo 관련 알림 제거
• 네비게이션 간소화: Todo 관리 메뉴 제거 (대시보드, 회의록만 유지) | +| v2.4.0 | 2025-10-27 | 팀 전체 | • MVP 스코프 축소: Todo 관리 기능 제거
• UFR-USER-020 수정: 대시보드에서 "나의 Todo" 제거, "작성중 회의록" 추가
• UFR-PART-020 변경: AI주요내용체크 → AI기반메모작성 (메모 입력창 + AI 추천)
• UFR-AI-010 개선: 회의록 생성 시 참석자 메모 참조
• UFR-MEET-055 개선: 회의록 수정 시 실시간 협업 제거, 검증완료 체크로 보호
• TODO 서비스 전체 제거 (UFR-TODO-010/030/040)
• NOTIFICATION 서비스: Todo 관련 알림 제거
• 네비게이션 간소화: Todo 관리 메뉴 제거 (대시보드, 회의록만 유지)
• UFR-MEET-030 개선: AI 제안 탭 내 개인 메모 작성 기능 명확화 (수동 저장만), 하단 고정 버튼 역할별 차별화 (생성자: 일시정지/재개+종료, 참석자: 나가기) | | v2.3.1 | 2025-10-27 | 팀 전체 | • MVP 개선: 회의 참석자 권한 단순화
• 신규 유저스토리: UFR-PART-010/020/030 (참석자 공통), UFR-HOST-010/020 (생성자 전용)
• 신규 유저스토리: UFR-TERM-010/020/030 (용어 기능 MVP 단순화)
• UFR-MEET-040 수정: 회의 종료 권한 생성자 전용으로 명확화
• UFR-MEET-030 개선: 회의 진입 경로 2가지 명시 (바로시작, 참여하기)
• UFR-AI-040 개선: 관련 회의록 유사 내용 요약 추가 (최대 3개, 퍼센트 표시, 3-5문장 요약)
• 메모 기능 단순화: 체크박스 방식으로 변경
• 용어 설명 단순화: JSON 용어 사전 방식 도입 | | v2.3.0 | 2025-10-24 | 이미준 | • 프로토타입 분석을 통한 유저스토리 전면 재정비
• 신규 유저스토리 추가: UFR-MEET-015 (참석자 실시간 초대), UFR-NOTI-010 (알림 발송)
• 알림 아키텍처 폴링 방식으로 통일 (실시간 발송 → 주기적 폴링)
• 10개 프로토타입 화면 반영 완료
• 마이크로서비스 구성 재정의 (User, Meeting, STT, AI, Notification)
• 기존 24개 유저스토리 ID 승계 및 정리 | | v2.2.0 | 2025-10-23 | 이미준 | 이전 버전 | From 4f7046acfdf7604bf7f3c931ae02b27ebc4283bd Mon Sep 17 00:00:00 2001 From: cyjadela Date: Mon, 27 Oct 2025 14:12:54 +0900 Subject: [PATCH 03/31] =?UTF-8?q?Feat:=20=ED=9A=8C=EC=9D=98=EB=A1=9D=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20=EC=A1=B0=ED=9A=8C=20API=20(mock)=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 --- .../infra/controller/MinutesController.class | Bin 26207 -> 12311 bytes ...e$AgendaDetails$AgendaDetailsBuilder.class | Bin 0 -> 2429 bytes .../MinutesDetailResponse$AgendaDetails.class | Bin 0 -> 1623 bytes ...esponse$AgendaInfo$AgendaInfoBuilder.class | Bin 0 -> 5223 bytes .../MinutesDetailResponse$AgendaInfo.class | Bin 0 -> 3915 bytes ...lResponse$AiSummary$AiSummaryBuilder.class | Bin 0 -> 2450 bytes .../MinutesDetailResponse$AiSummary.class | Bin 0 -> 1557 bytes ...e$DashboardInfo$DashboardInfoBuilder.class | Bin 0 -> 5370 bytes .../MinutesDetailResponse$DashboardInfo.class | Bin 0 -> 4307 bytes ...ailResponse$Decision$DecisionBuilder.class | Bin 0 -> 2606 bytes .../MinutesDetailResponse$Decision.class | Bin 0 -> 1690 bytes ...ailResponse$KeyPoint$KeyPointBuilder.class | Bin 0 -> 2053 bytes .../MinutesDetailResponse$KeyPoint.class | Bin 0 -> 1305 bytes ...ponse$MeetingInfo$MeetingInfoBuilder.class | Bin 3226 -> 4495 bytes .../MinutesDetailResponse$MeetingInfo.class | Bin 2190 -> 3356 bytes ...esponse$MinutesDetailResponseBuilder.class | Bin 5561 -> 5580 bytes ...ponse$Participant$ParticipantBuilder.class | Bin 0 -> 2377 bytes .../MinutesDetailResponse$Participant.class | Bin 0 -> 1629 bytes ...RelatedMinutes$RelatedMinutesBuilder.class | Bin 0 -> 3342 bytes ...MinutesDetailResponse$RelatedMinutes.class | Bin 0 -> 2205 bytes ...ponse$SectionInfo$SectionInfoBuilder.class | Bin 3872 -> 0 bytes .../MinutesDetailResponse$SectionInfo.class | Bin 2564 -> 0 bytes ...esponse$SimpleTodo$SimpleTodoBuilder.class | Bin 0 -> 3174 bytes .../MinutesDetailResponse$SimpleTodo.class | Bin 0 -> 2150 bytes ...esponse$Statistics$StatisticsBuilder.class | Bin 0 -> 2247 bytes .../MinutesDetailResponse$Statistics.class | Bin 0 -> 1571 bytes ...ailResponse$TodoInfo$TodoInfoBuilder.class | Bin 3716 -> 0 bytes .../MinutesDetailResponse$TodoInfo.class | Bin 2605 -> 0 bytes ...nse$TodoProgress$TodoProgressBuilder.class | Bin 0 -> 3005 bytes .../MinutesDetailResponse$TodoProgress.class | Bin 0 -> 2129 bytes .../dto/response/MinutesDetailResponse.class | Bin 4656 -> 6596 bytes ...ponse$MinutesItem$MinutesItemBuilder.class | Bin 3962 -> 4754 bytes .../MinutesListResponse$MinutesItem.class | Bin 2760 -> 3353 bytes ...tResponse$MinutesListResponseBuilder.class | Bin 2928 -> 3538 bytes ...esponse$Statistics$StatisticsBuilder.class | Bin 0 -> 2063 bytes .../MinutesListResponse$Statistics.class | Bin 0 -> 1407 bytes .../dto/response/MinutesListResponse.class | Bin 2101 -> 2764 bytes meeting/logs/meeting-service.log | 3102 +++++++++-------- .../infra/controller/MinutesController.java | 362 +- .../dto/response/MinutesDetailResponse.java | 150 +- 40 files changed, 2029 insertions(+), 1585 deletions(-) create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaDetails$AgendaDetailsBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaDetails.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaInfo$AgendaInfoBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaInfo.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AiSummary$AiSummaryBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AiSummary.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$DashboardInfo$DashboardInfoBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$DashboardInfo.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Decision$DecisionBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Decision.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$KeyPoint$KeyPointBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$KeyPoint.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Participant$ParticipantBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Participant.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$RelatedMinutes$RelatedMinutesBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$RelatedMinutes.class delete mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SectionInfo$SectionInfoBuilder.class delete mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SectionInfo.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SimpleTodo$SimpleTodoBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SimpleTodo.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Statistics$StatisticsBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Statistics.class delete mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoInfo$TodoInfoBuilder.class delete mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoInfo.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoProgress$TodoProgressBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoProgress.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$Statistics$StatisticsBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$Statistics.class diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MinutesController.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MinutesController.class index 5bcec4ce62174ca2ae5bf0ac30b2f0b7a3018215..c99e5da59c066c984b7e06439d70117af0e0cbb7 100644 GIT binary patch literal 12311 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 literal 26207 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 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaDetails$AgendaDetailsBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaDetails$AgendaDetailsBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..fa9e6def64d0fd8e704c1f2915a89ece249b70da GIT binary patch literal 2429 zcmcgu>uwWA6#gcOy@_K;NYl`Ul5z>)7@95g!o^8wVy=<{f}~Vce~ou1@sRaQv@;tC z9-_bd7$AXysMH7OLm|$1SHWw$h#xev?AbH(&3Eo+{qMWC{{UFUZ4W~XTY+x-iIRbi zmEYQaE@JJsg|Jd>`%-Pi+z+kxV_|l+GQwY%DzU=c5|+#8ake|Zx-C@5(@m3?))Ei=TLvAZ>lUOj!_Z%;! za))rk#$ju*a<(~QTasLA zH4Z1hIG^x5m6ggKmcMR|tdY;X8$eYHTfJZg2?Ck)f%>4$dAx~GKmsCc-LYt{6u zj0IE~ygeQz;^7v<`AlP1J5#;&QBKjUxm3n?SY$Zf<~yRURlx0U(zfWySgtH}$+d2> z%$RC83l<)(7^6(=~mJfDIwWoK4 zpBj-Gdxr;B$IqM>KQsK*ZEJ>33GZ z7vYSe&ZB5UT2Y%Q;>swlGi(lyLT*Yg=A>*&SGuP0GP`u@U@9)N1%~o{MH90gabtw> zu*6XR3^mPgBxeehW==kMf&9X7t}ji40`FmsVeaElhGLo}YKjNK*n8SooTiB|O!YcM zADSHW>vg12jL}-8(^5yKk?|jA1v;mf1f6!@I7+)d-Db2Fs{5FD*`YZ`zm62xhij8^ z3cwebCW(d;z9e%}6K47d*Gb6`;k@d_*En8%L65`erJPA286|-`eldJ~pw8`#k}`S~ zf4aKaPgdtbl~*^Osrv>e2ZZScMhFi~{*AfctFOqhSD4+$Dd*l$pL=PJ;u<9fsO_n0SOY literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaDetails.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaDetails.class new file mode 100644 index 0000000000000000000000000000000000000000..01f5dabcdd58254e6e1df176438d414b83cb0113 GIT binary patch literal 1623 zcmcgs>rN9v7(LU{D}`dgs(1keu`TF60E7ffRAPll4T(ReyF;0}oh7@oB>GgEh($0LhGv7Ji48Q;U_yu4aPcld_ys^Em6)I_azOs(nABFE(T_Lno zZA+>npIeUhEMEjCo(hEZTB=ZsU`J>!-GiQYWxFku!((TV!34uhho5rG<%F`|>Ihpi zOgb{K!yu3ZLjiwtoz@`9XYpCo!rg;VY1tLK>XbTZxnf%>Pjem9EHzxO+w$I9FN6|4*TSKa ziMr>A3}zUP{!g2E6j3T*7IO^gO{t{bVn|l1hYZDrRAMjewuJwdQ}+y|hG%p4ko(fu zJ?C^==$-!gl}O`}39gPf$IdMWlC6Lg(xinxmUJDO*FP{4x?sA#xFP1$#R76j=aEE- zVYxEQVAwVSy&BFMOKGTbY>q)I4~qNYPL+EsLw>Mjog zL65DQtP2URn%qRO3#dqhp@rm{c+@xQV1)QTCc|g`J+@|y5GwzHaS(ITaQnfFb zABOoF!4%>I+{1lJWO#68z=f*;(gPdA@v^gXEPamXToU{?wzFA0{6}?pgsP-NjPS)8 z0oK;eFkf3g!-9cM_G$M$f?kYMd!(tTH!HIdLgnv1}xgiJ3Vj@re8htl}}P UCE78XS&gDa+O5&L9>ptv0cqZcpa1{> literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaInfo$AgendaInfoBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaInfo$AgendaInfoBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..2fb9c596e9cdd940af5ece443e47bd896a16e703 GIT binary patch literal 5223 zcmcgv?Q#@F6g{1gY!Zi0kxxa`pqmg_1dYl9aT5eqH;H6p5Kv@xx04K+ok`8~ro<}W z!YX|Q|7i(@g;hQP4`q3Jdy?JF49Wf&_D4^5-Cu3xYCYq^`!lYy;djY|fUqg*L4;s;b*^lI`)0a2vD372Hx zEIX3g#61c&qUrSGwn>3z9XGaU&AF0awcYCkU*wGV!?sgy)a!P@Mf0Up9JdKb^h~Yk zRBo=E4tCSO=A=U6?+c`>9TgoR55;V?p&U0?azdqdSaw!CTQvfDae3S8E2&tu&|yUW z8kG)SaXd#|6X?&5EeY(I@oRDf{dmj5ahwp?UvfM-*Qi%yuxK+7^y%x9S+WC1&m-X; zwd&A$l~l~!DWYleMm8R@W3OKEFa$;|3}8@?-nTG}K>?X9_DJ`bg%P}_HQwuy#t91+ z_Uhf9x3Ev|_UFj;2^rcWn?AI#9|r{f%BFMTTQ#6Z_J3sIAPxyUOUeF@I@6;)d}85s z92QVfG_;CX4-61^v0d#eDvmwajLxmRg*R|S;7Dg(eZ0O|TL&uoG8b6LrfpF^gUP*UMpAK9{78=vrl7jc@kn#<=5;)9b zj8U!;+(a>hTODl8tg!GUz9K`}u-%57U*^@*?o`9*@(GZKNHk|H%wb;OXx(0uGrm`~ z)g4Ezauh1tQ@pW%X$On=U);QxpHP!lzI0t2DK1GcowTs*H-f6X;b_KjB9Zu>*G{Cr zrhQ+9DzMjQrCRlC;RqJ7l)*Q=ty^w(ybXU%=8U1n5jX6r@`K0PLw5vzYxhI+wE?_k zdo@>vqb1*8Ypmzv8)%bsEL>y?CwzXt?fZn&iy&rf*DX6r=JyYxJOt9_-;=%2B1`96 z!-)Q8H);M=F>$)d&-I{1(Dkgv&h@NC&D&=MrDt0NTu&mttcRV{_No{Yu!4zQ&fo`unG|3J_8QMcz>L0@Cj}0+CR=}1tj4n`XdW$W(hsu#t#Jk` zEcR)@ck+Gyg>(uscqDKpmLy4GpMfiIYUfY+GhuRsXsiWyu%x=pOt7BeVRIR zmf=kIL+txBiH^xgb7L|R(U^>sG$tcCjLAs2Vlon#n2gsjEjrq?>sW`K7G?Y$;@fuX zPg0sAieNu5{tR#a*<5;xPi+|RE8gbQG9TbHodJ#q@NNQ7p0Yl^&y1gaiucC<;II$d zp|pMcB!bc-<5Pyu?x1J71~rGmJirH3xP8klOHV#Uwrfyxs;mtd-wpI^*PtdW7}>jT z|6JFgCa(DJ%hTOy`#h)%U4xpyWI4gb-9RsO4Qe7=kdA-68|Y-$pe8j0S?Q-tU6T%< z#iC%A3b*3*audA2i+I&JCUAvOY|X|0(R0o z8EGEC*Uj9%-Qm&&%7&=ud;WrhB_;h I*F=8sKYVG3NdN!< literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaInfo.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AgendaInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..8ddfdd34a3f1544524c69feadcd6cefd1130beb4 GIT binary patch literal 3915 zcmeHJTW=dh6#ga`-?~jNv;j9MZ6TCoQ@T(nxFiiYNz)pfq_NXLLy=h9<7CQux7r;? zgdf7?Kkxt&Rwa=50X*=NP|wWz7Tdyp*uD|TIWuQ=zH^y#zL~%O{o^kHS$rMG7{gZC zt66ndls(_I4iCQPzGu}qm%=@;gj@A(t0Fzi=fN}24Y;)_+`8n!I+wO^3Qg@?_JF$; zJLgutI3^g*KDCc*%drV!yY!ToB}2jvKdCUB&v%xK(kDYp43knwhcl!+zry{TTjAd^ zupB8wu*ZE-6`Z!ReNr4Xr>nvMdEZ+1xyyZ(G1@Y*=2dtcml?i^u1$U`XH|{v*}hQort;JQm(3JVySM{Vacf&wjnLAC&?XCu;&~j@1T>}Xub*TGl{=R_}PKDpMx_9+ht$b*}Xd$&$ zRPWBTA|24ZYTw5OPGgF}Q2A+f9>Y#lRo8-CQpQ#coWWUQ7c$mtLWW0CnL5$i%G|1f zb2!g%j?A6xF)ET)Ubu7=NX*cgG_S%qzF^pl!17!dnP@u)pfZoB)As$)3X!kn-4fZI7 z_l5x78V%@!p`qO#Ewqo28RF5M(SVk)JOt?OXh5If(;-0F(SX*lPIVsE=Dog(?5?Mc z(E#ba`JbLW$AjN`%HXGgg?SaZwr8L9dG-$(NfA!QBtUbqf$Qdt1{TfB4Or&Ii3V<& z>B$Ceo9S2scg%FWfxBip(LmNrCmYyMK8$zu*3a69YKYlv4no(xuR1EDyI=KZMm;Yz zH)Pbq5))ddIABtb6bmRm$f$Q4?NTGf1PMJ-T#&@)G!7dvLl2s1jh83g7&fs*(j=^H f?4U?1bXQ=PI6Q5z*_5 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AiSummary$AiSummaryBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$AiSummary$AiSummaryBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..7df9f396d0a560481f8faa7246296333faf1db8e GIT binary patch literal 2450 zcmcgtYi|=d6g^HK(}r2fqd*@Eh1~*afDXH`%Oh?ad!dL{wTgr{Csk}jG$Ra`{@v6&T9)&15b$t)b2c4I zzac^goeX=P@-^=HoFH%4o{G9*aOzqap=h?Ry16=ULOQp^Fnl*wMh4=BT9c8i`J$|p zHrz-eVYm1?sOc5&nouI-Ml@*4uB9(VnNSB4REyzNb)EY&6t+MXMdkzDkc(0@Y+(0< zRMJc_bQH$!F?3dRL*&tcJuY1Q!q8WhO5BQrng|y-5wWLRyn8&9)=r(BW?2%mC)FP- zC$Tq$cEQGe^s&8QIOL)W-3-rD0vX!=6dpq^dXcw`es!@6d4{fYinj}iQ4AJ^{;*D`YX)rb4l1^aG$j82M&p`TP}E2%tAV$4BdOED%pToiGNDsqkc zvADg+aH5q}Qm~~A$bHmB&bSzdM{gtGE25%Rotyj8EYmD9Tp6l}o2_7JeYewV_hcMM zl{>HFur6k$t;3CE>qeBvdHn6*FNV=gaim()E5b`?CG=-` z-RN-L-s=Lxi&pk&bOLyttA;P4(W=%f@oK640xg~`8yD7BMMn6emiP?KQ-})p{ds9b zsjnO7dT^QHLADCbjy&F+r5(ADcHT*L`e;kbwB}}CoMdAR?hQrlwc_(A5|M*RhRP09 z0z+?;66L8mZ+IX=FKM z*|CSloNX^{K58`EeBBgFp9qR?-MyQ<9z`-5yNYko_j&_zFa6sCfS0g^<0b*vkAAYK zh2cO3P>FmwT6c=4{>8!KE1Kr89qM2bl0s2%dM6SZ1GKiC-4@Wn?*>goq3`VfgARW; zXrd~^VI0X|Iz>0JlJ&pG$iw0rQs4~+={Niq$Fj9ZWbJRtI*Q{NxYLw*i#zZI^FN%h zur$2GY2aJf11WYF&TeGmk1hKCNxmM!zDU1ID3LWpXN_P2QrN9v6#k}#Zd+E0rCtCPLDY7+>;q^_YKcfvAfbfB#F%W`p$zWMnB7?teI~Do zghUe`z=txP*_JkeBK*K6+c|SC-<RjxhZZ}+qdRndrpzzg477-5(=@D4rK_XuID zdB9tm!D=a~xg@DrA6OeYq-UNmjCHu=p{IGfN-k4f7cBzr)>X^%SIM$NH}cE}sx9_J z*U@Um!f*4Cp;@lfue6XsNzc1)(AzWHu{24o%R>=~rq8QVD(z`O%$UM_6*SdbckQGW z3K^-XHn%Xr@aF%fmq!6b8d#>%`bNrO{{5OvB7cDnsVMWOUz#g)GB0 z3f$-qhp{}ckwZ3*G>Qys<+BByJ7?z_44?Uiio+IvAq!q%lV{&p^UMB3;ngv&ejv(EAn=1=2(NpPL6e~&VXOgd|LE+xG+T`QTvr>>{*D9PKA6#kmq0FHu6G-_fnS!G#;A&I#zkO%}p7v!c!&BfW>hHV+9shM6<_>|YY z(yS52JIHt%Iq z3482>X(^1XiIX_Ra7-B$JIPuK>$-_P9i6|@iB96UY$=dY6Q^;8;h)9|IF=K+rQqH- zaaKpEv#9$QhWpuLP@gyO5yNsC-b!2yy|{@_^ey!%!@u>>$=6>FX&(~DB0rJl^&0f` z+^uBTV=)X+tQyYXUW{YXz(k@84S!+c3w+67?AT6~-&<$67WpjJsnQkNAo2{g(NiX- zF~e|v%iiSE(keXQI{8VwLiv%MQvcCth82|n90z)Dyv?J&kEh7Tx{CHk7{(} zn<*)kuRMEufvbuv`@NXQT?2QhyFI`!+#R{etq@EIde$x}>FsK76c~PqV~)5(fpfN7 zcDSD@NV!?vj&d>ZbE9h#KU||Lw+Z``nB&4XMIus>h-uq#R)ymEzAnsl;~v9L&ApH) zqtV1HddOsJ50(jbV{pIu*JBE}^7WwBgzHJXMb`6VJ3GOK8O(W?-V@V~?fcv}u);8% z!jZsmGGRZ}MPgoim{IYhas=#Os8oylLj#Xe62AXTBjNi)1K-e_BLz=olFdK8Ig$$o zzGqlWL(xGirHiumax+k*=U^HN;>RQeSkw`t#eq(r-Rzr1qrJGh5HT4JT-aA}f=E&-F zD3a<<1d8eSz_liB%EwU+1!~%kfGUhCJ(^<}h7ZS(J2D2H9!U&+=nq_W8aG~tVdTgd z!c1e-7#_sIIvm5;kum6$O=38UfdIn?_^=6vJ3&$agMZ@YqudKhuouYCH$-2Kz7hJy zUgBe&c8viFQ){r6$)Dl#CORGmHUVQKYw!=`iDW`D6p~y>MnW=1WRL!_h{JS_MLIk2 zRbbg{!hyGGO(**TeT!J4*%ZxhVi~K%$7r-h^ghiW68)O!W1>%peoOQ_qECt1L`y`= NSVsjHAOcOx{{vL26@UN$ literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$DashboardInfo.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$DashboardInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..edac6ace785fabd453e05aad447cdfdcbc37c75e GIT binary patch literal 4307 zcmcIo?NZxD6g`Wvg^2=zrfmr6X9xu+L`~bYO`xQ~gh1jDVpC@Nud=-u5nIYgaysc# zwKMf(rtS0r`X2q=H|X@NEQ4gbgdYntX1}C!&)s{^-nIYw_qRU*+{d1Q5rJnluVuAe zr{?*tbC%KRn|3Jcal#1f5A3pzn3hvkBJYf9 z+iBLNFL1c9sKvEZdZ&|pt!s-8&z9S6=(OaP`;wuoHsyWS^;D3fs7{xfUaRUow;oDY z`f6kN%4pH6O9M09936Y{W}4%;gjo|;@SZ?!#c`c*RUoslxF;}Ka$LFHZdIkfYm>de zbjhpP%{|+9)Ht3r8#3(ah^aHp9Uf3}bzoAve)FJgO=OYdE`|pVsZ{ibnjt#Z^*25# z=7)GT6a|VJ#2|1!Rr3Tcrp9q` zHt88!m^=Zr{>au<@GE*VPHpKTZf@zO$m%24-8az zbJk%XDFP-|dN{T%gK*OeLVU#9l;QWB97fbNfg^*X5sdM}!hAFy=a}U)T4NzQnxEi2 zt4uV{L;h%fns4Xv7A|uA?FgR&Vf!vW3!GDbW546l_pfpJXZA<%KL4xtfpvTk&48m1 z$uJXh`gj1z;uGqPY~fd2?T0BwFlP4wT*Evc6!;_oxNsui;^_ddl2y1#_}&w3LGcJgQ3y9f|aB6_-26F zA2g!UdA>lv!u1ZW7H)K~SXk;{sW3Cz!L7nfwu9S+nOp~Vl*LRU4L2f-n_YxBe~1;! zMD>(FR4UI$(oiy*SGPQjMm;5qY}8Z2$YGWJLcErxz*OQY3?;4Zn-lTs6sGxn2KP8W xf^YdF1aOx;1lA~yJina?JYc)Q@h00XwvXAC*lx3Z%Jv!CGTU9Y-$giU{{hEX&B6cx literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Decision$DecisionBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Decision$DecisionBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..14e99b9aee133b601490577a99af1a2670104c43 GIT binary patch literal 2606 zcmcgu>u%IW7(KJOIN7=lx0Y<6DTDxD@weCsvEaF~Zv=@nZQ>$2b_oYgVh!=$6GF-{L(+k3vvDB((G!hvG zB62XuaN;@N;$FxJ@L~J8@C}3GYh{EY>r`v+>#B)p*E++wl|&iY70YUiVB4XXS4tah zXouJ?33a!vJKjB^M8u53L^Xg_2m&rsWz z9>b&R@orytaEakqBV5K5F5B|D!mv`1&wPg8TFm*WwuncJPJ4>s422`tX=T)K-NChe zJ({j?@g-)dQMY)Qh=@+oltRk~M3CLFaC0ZDJGg&HKV^=pZiRN8E7m6T|dg zxTMR{Ut>(8#_==v}fhnDdb+<$NSh2YeQXE*HY+M;s%sM>83{hib2I;;)@; zY-d>jK;Sg}y6FU*!KXAL;lpPIKy~t!=(|(9_7Z1nf09|kK`6VBresjoO3z7G>AOKI zM+Qv;MeT`mwBf-c?_+xY$e?MYsrcT_bn?icX{s15Q1bIk8(AL4|HjlWwHFlD7pTy4 zo}S59m@W=-ny>L*zOJHLfZe1rvpKeSJ>1urvCwa*EN~cjB?BMAw>x?MZeNhUC*KHx j*Xg;1+ccV>x}L%v`Y&j2&?z+N-NaqoLj_Aa2zUMm7&43) literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Decision.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Decision.class new file mode 100644 index 0000000000000000000000000000000000000000..9e797d33b12325019ed53a1349509553d97ba81d GIT binary patch literal 1690 zcmb_cT~8B16g|_HF0G4Hs2>y+5yVm`tHw8t2`y1cYE6KUnE2p!cPInf8M8Y}qQ6QL z8xl?Y0sbiCoox#Ss_@Vz?Y%Si``k1A_51rz0PA>SA;r+}RL6;>@Kh+B{q|=bDyPG_ z7P9RKxfi;Quay(>=%bPmcispYYaVTI?TTQlf4jKBJrM~dEo2x92kw#U1TH0b+dAN$ zX0SXZHJ7AKHBPPDI;1Mk7;-+v``oX6I@Q<7d8X&AMTa{L<+;IztN9L{C??->y~B2> zV(C-Tg%s7^~AIGb%yM7A%%XykS;IpGE6pvLDxriac+ZAq3jSp< z{FogyID{c4Y|+LzatsrcuXaKgV|i#Jk8B=kOfzhi&yV@9n<16XyBfgr+bRw{{!$pM zOGBT{ngN%F+LXkUdf-M8k1VV))JH%PhVj9xr0oyXK8wlN1BTat@8Klfs zNlO{96G`YLlCUCa(di0ovQN+{OL138PSUqbcjhzx1BG|TnEFC`3ODH2cmW(YlN-?K z7G{QIaL8gj$12}YIvegM;dajfw{eFY8SY+~Xzp@}=5hamjutML=)r{@EnO}Vz2N_L zbd2)X1kh86_l9Cr#PX0t0o{#Je5pc-Dl1)5R=b$1RJ&NH%w)P)I-9+nWPjR=>TiJJ v6T+Cal@iJr5|qr7O9)jmPmE}lMkVQW1*;^ds5V0t4tW(wdqnbaVz2%ISXpvA literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$KeyPoint$KeyPointBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$KeyPoint$KeyPointBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..8a42b8f8c24da49f997b6f13a446e3abaf5b380e GIT binary patch literal 2053 zcmcgs>rN9v6#fP%3$+3wa#umCmV&H`7o=bUHArK@3r1r!CewDLL$@9#+OVbi=yJPYwCxISODj*p8tLw8mxu~sSP zg!_t9LLWxwx$~O4(m&UnZKf!R!H4W=DnxX7A~SKiIXc16A43G~3~r)Xvj32ND27f% zsq#6$GZ>yHPBv-E!bOG?l`)D@T=rXLjMPhHLS&=n>M%O!JBB{GQd2kf(x}B_xQ6Qt z17%(kX|3|yypg6zmS?y!)MGb7;hWJIqU*Zi=Ebt~+jcl~8mD~{GwqaF-!{0%K48QO{0mr*0lD$61DJO{EAE*TNjbrQ<_s?*)~h zq-(-6E7~&{r^#=n7Hpv(jX#|%I{EL8s+VT+FJFZGv?VFNG4d>VZHi>{jwJWd^{x7O z4?TS_;04anGZqA(7w73j(~iCnpj4F(U?oTPa3T4XLR;`RR6qGBqz2_%0e?n&WZ+oP z$vq7IGiV?HjS@yeK2-`hqoWcl@QEX^7)E&)$tB+ z6*vyDtA-fCjjB|MKT0z}z79h4%X15N=rl|vAH@vrkyMPV`}BT*he%-v^HqeI-x5w0 A{Qv*} literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$KeyPoint.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$KeyPoint.class new file mode 100644 index 0000000000000000000000000000000000000000..8c532c05fb966d195ce7f2d760e152da7c663a80 GIT binary patch literal 1305 zcmb_b?QRl56g>mwqqvq9Ypq3V)mDKR_W?8}6{8XC|P$?9MjoGx@Ye*OOb6TmKNIiv)dz8<)-lD-a=d)WU(p>_vE zMykFm)!Wc>dq%qgB#imr$iU(Z^UwX{h64kyJ9C)F$=aDhrC({_p&UuYR2wZlML6&PUhmz}S z%~f93rodO$$K74!_D%KIvbg3ThkOBPtO%@C8q-m>%0frSp-+#cEpTJz*xj}80!~A5 zd+LD~MHJ<5OQ1f7&IshkQ_Yf(x1-TvXNw~9R7VEaxui7zp;G*^y2*~~<28dtehX|r z$EPgEIlP|dufjI__88Nl6c^GDSOO3Dk{*%uQ_bT4Ia94sLU2mUvg;wVL>M{s5jxDgXcg literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$MeetingInfo$MeetingInfoBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$MeetingInfo$MeetingInfoBuilder.class index 1cfdc0078374fa26ead121aedb78e186ea847755..91b8a09e3ac73eed0398614c5082e3bef0b0960a 100644 GIT binary patch literal 4495 zcmcgvYjYGu6g{2SCd(j*7z7k~yIC+3MMc?wCP83zlOTy8;A?iLlMI=iNzL@8#4r90 ze}+~;fmmhvRezM_>Fr@N$&ATrt@+T~-FLdry?y)MzGwgZ>)CGrrm$2%pFq74Htkm6 zHNq&cSC+q*QD`@%R9>)bd%;rV*scogNXBbn5KDX33tCFXSEX`1|5hSBJ!>{pgQYM% zo^E-*E29Di1ol60)*ah-2s>YYAR9_xB+*lK1rF3UzAvbV+A9J_Z?yvDHDxte_hPT^ z%c&p;m7_eGqPO^AvmUP6*JU6hM@g4k29>9LDX=GQtVp-zOLvNz4jXihW!J)n<6q_S zMb5ZmBvwwu&3auy2CfpZfugDVjsBMMe7okwN~>M)mIFt%BEmJce4ecJ;!HlNJUsq(`SMj9^IMhs2zmNZK{4-mp-_9&Oc_1(BU%6BZhhyw!aiN`i#e^*Qp_+zW$|0An*0g;LLLsuXZpV7?b`QYznzn8b(r>G??Dmz*rm=Dm^Rq~3r1(5^;FwfQG? z=`~feC>6?lM~78tAOsH5_n9(Q#8q4?;Nwjt(Cn~q9XD8Y)*Zhk=a&S|ru|^bWF-gk z0PFWB7CuEy;84?9l`~<$dUVHAD;%+&wTsS^G}ym5W%dZYk|h31yENx?0>y=}6*c5F zPZyyhxs+pE`- zBk+5^7gG5&o*E~_tJF+*nR{8BKi+0WdXS<oAI4EmT>|11ZH~hq>$>R4o=RJnsxZ+*FAc^Qk05%Q?mjX zjAt?tmls0?Gz5-qzm#On1RS52IT@=PVXSb1WuTv#Uqqj#C7cyF)BP~}K21b5{itB)FLBe>Cebmzi8#lZCgh-*}j)DQc!+PpXe~9Hce*ie115}}`kKYUBbB}SN{1bU`Ir zCRq6=W@pgxu0c(-v&!rYI?*+#Nf$wO{PwoDfAldfbPa0qO^_qL%QwR0*n64Knx(={ z5?pM9_ji#5I&lR)=;T^~YDOs$xC9-oTO;^hl9Lm^V)AbJ5!3AvPO+V3E3uW?&a;iP zO|V^HyZ8iG@{`i!_e3YZr!bwP(`7aZT6l?A9eqzR!)eKMWz%I8Q~V57U_0%X677SS yZ9g1yo6bB>*)X+#&UPDLaCQ;{WVd&5pAU!N=u7rrasCbaZ&8Pf!;o#HyMF_}{ZAiG6#kmq!ZMKLmk!r`6YCGb7V6-2Jcwehn_^VQNjEI+n;WFGvxTRHhpsu!cdcD|@ zVIZOch8WJ?=Lg&mIl-rC;vB1MAEAaFK={|k!?{|2Qrq;P%J2= z4L6chu}4DPZt6Y%u23T4Mg(+Z*hmu!hVi(yD}qiaf(4Rv$)Q^;zoA<^T%zq;MA3<{ z*zkxB+kFM00=F91(GFLV%we@V)1%gSo6tvYOC`-6hQad8J%*v04nz@yIPc*so@bb7 zNF~-f?WTyfIO%PbwPNq_NLo5!4w+p^7YQ2wzYpl5-|w&{JlwPq&9GTMbrq`x++tWi zh zJ@pD%g-?rTjt@k?n)nl)H=-}3aeUY>Mn-oHh z?-Ga_55rAqM0H{WAB|#};fH)Hq`J~vYMpeYa4?ZNn~7eWOeM+Z-&BbO*ca zHH3O_h_wA-p3N|LbwypN7VY^wXTlhHgp`v@=m+EwvI`dR>>j0^Pj+y-34OGHtr$E6&gD)9#B ze_^)r8zyIeq2&OMLS1lM5-4jWXCr!RoD6!oZ%}7sDhRkj0*_w#kfvAr26bMd@I4uH zs&7!|W_m`Q3_9I6sEZRuE&4=9UGE#z1sXlzP6oZ%H>itLh8fJ}IBJce!iHh#4^+OM zeMnLD5SM9Or7=Zgn#Oe+Hy`1({CIPrTk3`G>v$ta&X*J-R!)VmdNO{;n?z2zY1&O) zVUO`XaGbbGB5oMByGbyAC<5;gZ(f9;+iJGK>QNap6?OwNn&uDI74WE;xzvv>Y F`~xF=`1t?; diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$MeetingInfo.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$MeetingInfo.class index 9948e2721bd8e94597bfdb4ae1b5b73a37b91066..a56cb25a69f9af3e6d881a03f0664a944a3c3163 100644 GIT binary patch literal 3356 zcmdT`ZEqVz5T3K+`0d(;kQVIF(n6r|wdoZKg_2;JCTVMMoHh=T_;|KA&X)6?b+@hr zzljeZVO4;{58y}eQxMPW+08X}Ya_WIh!oH6%UfY)5QQ+7u<=cS>yS^6+dslirCBki?9O>>4v@5&Ofr@wJ zr)kchg(uEa$95fH>@}WncE~b%Rn$Dpwek51YrL)pJE_6UPdX ztCAgISN*2rZaYdGV22agP&t8${L;c}MXS6Yv>i|4K{(Wz=ewHI0eZ#-h?2f%(79GG z(96Ly8DvxpGP}T(P1$uk72-*v_&p_EyDCG)Ve7K(IjR=`u6fG5QJqCOADyJIUPi=p zqbJ>#2n;$}EzKlC?84%gcQ1;Akjwi$kBeUMp2|=*T(RkSzS8AFRTitR-)Z>Y+Yf{% zP(;zfk-06uCDOEPP-7NFcy)?7D$+%hF44ON&2LCgsvb9;IB<|T zr^}sl=me7Y1Etv(Y8V5JvV_WxbY+$d`oN?V&ExUZvBaZ4o^}0ExeQV{;O^&mmPu)j zcNWTed=!?48IBnSK6t~V3}w;5d~i4!Z1~8e92;^l>_lV2>Q79{vzi0#oy-iIJ~PSW z92Vjx9w0V;VbU2k=3(T*@-(sjOOwvBei8cZ)1!r}sj$1!IuJr$LSqOnF!(n2NLnvuFt-(Gtv| zC1^rRFoKp~04*`(T4JVv`lenlfj6>ro-P3QEokOpc^k5T|5fPtFY^Z#zk5dS{ET&i zF5{QI*nUN82)p;_{V@nOEbN)Gex;Su$FJ(+X5>I0(p5Mb0G$L>nhxk1U7wKA+H^qn zM4+3~0ew6X=+<;VpH8gN?dgC%p9pkkI-vE5KpWEmmFcSqw|4g@-E^1n8@1v1KDtL+ z7@Vldw?|q#-k3YnWrok1S7!E%9{h4Dv(nfOzeEq8XI2@>>~93g1E*{O(7M*A73+GR zO4eGR)~v!@pKe-(RG)5Hh50_+whHM!-LVRpK5ba%vwga26>@#r;Y^aTQMGg?-3WOw zYlxvKg$J~(NrlI~%pWY8a?1RLLUUTj)RNLGCKslYGJkO36t9?IGJ3@n!z5JZ7dOs- pjde8PtXYC4N#8)1pepS`7O^*|Mvri+h}C1ree4e)ztw)Ve*r#>_E-P_ literal 2190 zcmcIkZBG+H5T5OO%kd&0SP)+jp*;$x_=+G2f-g-9L`q2fcx{)mc-=F1TR!+h{N#_& z#D+u@e}F&AIJ4JE1I6|OHo4C3%+52jGtca=-`{@%z&fnOA;e&(?AENh6lK?w)?xJ{ z_gt&Sxe~H!33=ezRzr&Y=Y)142BD*_M-AI)Cz;B63XEW`uy@Cuhbo0Sx2{Ya8!vJw+e3Ab~bIr z_i%?ENnhEX3eLs3tOTn**Q?r6;6*4@|KHuVT|@MEsVxvV}{&dwU&T1aUCU z$=$l7{PXfy_@d2S~za4-ASBd(vM8{3@|8%p>`8-k&F)v=!aMe!Z60*Q|5ftF4A`?yEPhui!QoHjFPEK5s-fT!n}RT4GnV#3pKqUDFaa6>m zb~l0pa1(CfL53IV1~lCp&&tGwKrPpED82oNvICnQOqbxzK=FGaYF_)=WnmXimo( zV43N71D4LlGj+V(0H;YeMATD59L?#uA;#zEJ=9Z`)6)^rI+~uSUeWx}e}Fp`k8Zy6o%`K$?>XOX;w5o@MLti)wDakLS;`O=_?@OAsh`4(l`9Mr zG;=v?WlVmc4odSIExMAGLitn~RF&%Le) zI6>rWEI-#@sl3zBt{8E?2!{DF5UnS99fOL-O6NH52HLb_{9KsIpZ?BPM@yI#t_wmY zN6;iULJCv7-4NhnaG=(RUn0q8!7aaWgIR|N++hKbMJ>D(8tKkq8hLoIBDf|okA$^A3lu{nsc}JJ?N|mF7-pbTASP~Dvc5YA zVab-Hgs3~C2^$vr2VA;$XJSmeua<~;i*wI?=bU%%yB>W%dVWcnOyW0MK^(Db3{r#h zYROsr+gXTKx*)k8a8{VEb zzS|1I@mi3y+TYDngFf+rVe_$dG~As(Dbv`)&Y)!)CRhtm7FVTJILy*tl% zD?8D%-X-p>MG5`4n8GHZrVWl>SN{Ydb5klrgvab!CH~!?ZGXw;$Td&`VBkKKU>YLt za9K^drS{Lemnk#V6_wd4JW!R9bCIO@AoplUeoQPg!Yx5ah%Heh$H5eCe6t;2^`9@V zrN9v6#k}Mie(i}(nZl6oLOj>B^_Rwm*+Pj>ZQ((v}>4vF@2hy$h zP|NE)?lPwvJFT@1t>N`~VV89^%)rN`G%hmaHfxh=Rj&v?Dm*Ia0k2qX)?B5R89pZK ziM=Dh8Lp~<2y=5(*UJklJ`ck4Y^bk=Fzp%R1I^($S8S3Er7tBMjcGB91BrJPbvc#!ZIO9_%y`Tp}x? ztHkLK@!nxL+cc|I-A{w4@x?nLi&*zOW2kF-V0Jq@onHM?W5DwFcXbMMK z02RrWqW9^-=oj=CK9QQjcBuZyC59sBxK2j3?Fc%sYtX1sbU}9p9ojW$)M;9kok5T7 z8Z;UetqV?4Yqk$(I-bM8cVu4_)~T)Q7@%i}o?~Bex^ES G-1rTdM?Wk8 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Participant.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$Participant.class new file mode 100644 index 0000000000000000000000000000000000000000..9868d3a0e145f32d96975926cbe09433cb6f0e46 GIT binary patch literal 1629 zcmcIjT~8B16g|_HE|isG!4Ha}Rn)Qt)(0O{j0x7LL@WwQ;^VX(U~oG_W@mZuS7~BH zqKQAiA7#9=Z32Nth`}b?J9F>cGk4BC_t)?5KLIS`zK0CMT1$7rM9G#mD%{!rEQ}62 zLRhJ`L#eh558GCUM#Ots#UgwoRboZ_Tv#rn^}cuZEjL!Sn3z6J=#btf+k%%Vs2&mC}}5NgTKrM7q<|pTd_y3B#>uyBE}TTX+~}X#W2a z3n-%GV*-;z>=UV^eaeun&TTRjSEUk-q|+4UJ*UcDxw^%pO>U&y_njl#!hYy?WRhq- z(UTD{lzj{#Pj9n3lHUF9yvZlpJgTEXy?58$@Zq`ZoNt|k;C#1y3_IT#`IZk=;X-$O zj38e?7A1z))ss*7H;*H+u%Q#v5-+6VuRKumi;gh{e?^f7>Jg7)5qp?tsGmdoX#|dp z6t(ckuCG#t;f9FqD;--@h>a}GbPgHUFj{3Clc^>4QcF~k^@y?pMk(&oE>C$E$d1uh zC7=5Z|3LBM0WN-_bq1H{-<<*;;d1H$?XKYJ0ECbt?&MJL4O7R{AExPk?*OK8jSezg zKNV=^Y(O_p1*)74==P~Vvu6XM+59U<2e|t+CG?Qu#{)Te>Oy#c+RwPe6>DG;vcaK9lQi=ZKV#dm2bt1w*XeW{9$a2YaT+w*vENUQHVzM~#64Cf0w z3?pUP6j==8iiOuO#V}cQe6i8?>LS?Yrvx+LOhH_&9@)V!CBkSoj2=k_2?P+ZLNo7;g7_VYIE30y#y}Te5H;iwxI1 zzAwtsZ*cXEqgvDp755b>z)$^Pkq{>74PqHA7D*(A?3Qek0IoV(uBKCUe?do#g0n28 z3RS=l)&+@ZGt6QcD;bm-az`54E{ zm2$s*P)f4xv&0r|A0CL5>EHFuPdTaxqRd@)%Tb~X+|T zxkYwwwp*Tbr>{Qgp(#ST*Q+&0RVZfemLP43YS1DpFjy6zYGB#rVJN~3zG5i9f~!lF zFYXe7s6kP_4;O;U=lzFx?^gchN|lJbO&L^fd~xlPzec#qk#v^N!c+P|O8C9>KylhJ#$_#Bu2=u*5& zPYnS4f@}1&%mloS>og)s$8-u%iEKmkJyX2<3^T>wsXK(@P*=^A2uerE#EAZ~P6xd) zFsKPKNd(@a4UfAVV>&x9s5vD{;?tSl8W_|ZGsAi0PGmas408j6nmnPuy3?8785q$Th!*L-Jw=^4m&;HOzP%( zsrw$@PuXXaQbg~g@p^mwi4SNP+vWv615Vm#F4|}m54!39c`Wz7Alo=?v`XzEDm0oV ashGzjRJ)GOW1Zd`c#Im|w5=|}qkjP?Y%Hh% literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$RelatedMinutes.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$RelatedMinutes.class new file mode 100644 index 0000000000000000000000000000000000000000..2d5bd66b51bffd10c9fd95ab891d759e4e192ba3 GIT binary patch literal 2205 zcmcgs>rN9v6#fQi3uQ&QQ}HfJSqdwPSG*xaZBo$`LgLSDJHp_0*X&L)`UGBH!AJ0i zCN?CR_y9hX@tkQDrPcO_+GKlX&YbhjneSY_eEs+tz#?uY&>@g724$z>t6~uP&gRB* z83s;SO0E12NBNIJ*D2}131##o@FVHmQ+`FuXjy7kdHK3_A}>8x%ToO?fi8gqTkf{& zcrL-*FKo%87U(J0oUYj=ZOMOL8i$4O3ZOHUvXRmx>Id`7E6MR_Gj?p}H- z_xFj|!^^GOZ4~x+zT)$Hvi`P;RKb&rz8`2;E8>{B@q%(8c{S?H}ZVDD0+a*0{p>$_WbzzOs))tkrw1+{V8L*`(mu zF>Rq6Jygx)xM-@6wbK@o3^zhr>W0QrB;K-Y=ve55CD8w~p{YzhJ!@ef!zAf+wN|FA zK5wB9@gzDiD)2PjNaF7_P2SLGnr&1yYB=l3)u2Mnbz5=54>lbIvz%W6E9+C~E_rSg z$tZ!V0!x3PYAIX4P8xyXUlsKhqg=1ZNZ$=2jpM{$Ck;HBc3fn%>fp>9Nr^O)QfDM( z#z@M6kwiMlBw6jp0rKmoU7YX+NDk7MCLRB}KVj(M4o2S5x&sI4pRItG7&jWw?hp<) zL2&4VEo1fv9NFvs!nj*C1018LFwlvXKquP+I)&3MBARRuXsTsIc6&e>%(RGT_N^gw zm*VCeooN}-Tze6nYY8;p9uQ5@KR#^-7vArA+N-ANAH&5aKyOIbP5v31fb8iij@X$h zPTDh7OxmfgDr|c=R>iEHidQjbrxI1n@4fG}xi4SCsh1leny%p*&6vL7iqG%}G+mY9 vv4<|B755K!PKL)8d3E9v?K*H7S4a-fN?-xk2xEv=*Gb+m=L_EeEW*no literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SectionInfo$SectionInfoBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SectionInfo$SectionInfoBuilder.class deleted file mode 100644 index 8bfd231eb60e8bb487c1428be191d101d2dc1aef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3872 zcmcgue^VPp7=D&t3F#pfs};~%EX4pVhZPk~TZJGc8bAr9mTH|#vcQ(hEpxYFTL1Ao zIOB{T!_Kr*r_T5R{7{bXW)E_3Hzb`w{@A;B-`joOAG`1S+&}-m{2Ra=eoCQ(pdT_M{hZds%pO#e)T|9O15o+R+lPC?UOq zw0A@7S(Gu&d=qw4R|i2)9)k28zw^CFPU#9K-Nh-BY5*3*Np6 zMA_wYo+p)~O$B<3D{E!BYv17>_Z`Knw53}K<#L8pMS6;RWF;eg@}b~W`C|rFU`UIg zC@Z_1tg=n|E`km2i!GrQX}9rZ{>h;@M-YR?Iqix~TOD_StgX|G3}*Jj&3ez_MDOak zDLkQWGjwLhHyFC|vdS~)#Gr*Y@fJgWQFwf%UMq8d-J#%gL>hd<@r9m;$}Y7dDB5cA z|34@S=W#ZE5aVZIx)%(WEp($tOYd9gHPWbs40;&0vxPJB;{yxlU}>A1XJ&K4LLXk! zv0t;$Z=@*;=XLDAgol!F0ng084=uco0qx&M7Tz#t^Ra~s7@(pn>q2KJWl!CmTne8t zte*1S&tMigU4}OqeoeUX@fwJ03Y(j8rO_mu(4FRwD5^1Spaj=Cq*4oQJ>JVkBj zwN{phS6r8g|{zvxozAsnOJlxO8QT9ioRv|J(`GcwEQ^}Sp?7ZJ^o zjq6YLc*61rk@X437eeG6*DVRfbNxLircq*enw*6QS5HOckgKzYoP3L2yWAjCEre{U z#U`EV*#Vat`G83E?0`v|@|@CglP{w){cW7VDtN@@dDjU79;85(kUxdeXE+y$lz28W zJN!qXUxBN!^G`a_6n4;BaI_m2&9d-Daj(YtuT_5>P|1#uzG?I&?wP_`zclX2# zy#2Hh-Vi-CDDVk}>8XRD1$YPV(wkTWmlA+-r0byXsfo$wcyHnl5<74lN_#*{LMSbn z{L(*WYtWIlLCpbCvuO=_rEO4i!gNJ(m7+MF$7cA$&oS0EsJS8xeaN-~9d8@d+%fub zZ4ElvHmJFz)RtT4^m^N%=9V-1W3f*RpRUw&+n}aQ82$XTyr(zX1~qj?EZ^GGnYKYq zp)#toPZPr53@dN?FU;Pbct%C_3?nqI&={jJPGgeBbsEz&ZqS%{fzOjm&s6dBVHMxP z?F5?-sb+Mw&k)v$_Wr~d2PR2;iLZc@?9POCyHRK~hOdtl&^M$@lilxVtYMvIL)3t0 ZaToWfF))(8r}uq4z>gTj!v@0L{{UTdcFB9Z^j_9or-yjR_= zBg$j&9Q*+ir%E940ElNo%&hGuN=(m4A(At*GdthR&VD=h=ik5m0icFv0Xcz>J7aUb+^;Afy1$HY-%@c0W;byJ&^H4F1PkNfGZ0LQJs8%RzT1O_}t|r{DFzU9V z=l;6XGNvPRC}gr8bz}i$f!6`*>9sZx1URdTNGaYA)t5>tF(l0zX!c_jw#k zV`t~zwv8zDKWt^rIGa%~Zp#OX>2hY|P+4Yn2)GSRl&^v69$eC9%Lt;((QO=T_1!T1j_i zCEXCo8Dh~pI8Au-w3?zk?~;6veigFuU-5S=eD?}xekMJK59mMd0#@*$wSZRVsKVn2 zK6!X&-uo5jkA~l{;ckBeF5nZ|C~z?o=+byVOPN64ctBThHREW@KiNJUbY}F?rtxV8 z(6#Y^W-@`Uj|X%kvqvlA_2?G9$T-^V@qq4TR&;MXpf58kx<4KeeQ@4*v{zXD<;eBl z9LemnsE+{pi)_;rU-bycyPV>@cO}Io?`jIqo1aXv?9Jy>T=V9qQe5}Sg%m4ZxtQX% zS1zTv=arol_m5U^%U1BBk34u=l*5h=evnl=JotH6`6FXTOO-z-n6x$?A$hCu5aDrA uXf+-sC9Cl;;d#GCs~o<<1Cn#339O?*dlpFhn&dauzy1#abm3_L diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SimpleTodo$SimpleTodoBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SimpleTodo$SimpleTodoBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..af9c5e96f0dc7a87bff2f5cd65751b686fdc8518 GIT binary patch literal 3174 zcmcguTW=dh6#gcOy{_4kwv?8J64K(dj$N|cZ*B^SLz;l&KpYhzURc}HWSaGkwL5Dm zAYKvAJn=I?Dk>^ce*ixUamKU6PIeVrBH>}YXO3sSbM`y8{p;_i&j2iA+rk9Hw=LOm zB44y*;5&P}-|;{?9nO{TcOBtB3|yzJq!aM4EB%l=o5GJ24_CQzg|{7R3k}ifdVEK= z<&d}%39roq3sVdi9=Sc&@mvDkYChsE#gJ8We51{9sW$ktp#m~oVR(5v@|EcD4ZkNs z(e(JT?@Q$>L0;%9p6oQ`zH^`ZJa83n)0K=8%Hs^S8-`-n=e+KAXqye`T11y}-9X4d zr~?M89r0DV#&FFT*QT7BY`LCR@6e6_?f$8QMtnbeSNKBRW0)*1JYblr$~Mnq5|?dU zz(t1Xn(%o&>NI(<M8-?DKY&ufp1Hm0>tnWj!*hV9~MyHK%k zhoOGDDUe4Qi#iz{hM!U*pUj2-qDcu<5>6LNPDxYN43~+>M6u`bHr}=H&XF!*ZrFGa z?^C(~A>WWu(Bf-CH;|dscDtx4B(_$hRG|vo?j~1zvK{8}305pDGZY3S3%@7# zxno|>(6HvVlnf3uKUIcbhFOSD8^CqfZ+ko})TG>xx|I`&IC634pvzN^e=~%T61y0p z>Uv&7C|;S);^Q3F7=BD=VK8(S2Vy*Qie|Vhu{(49si1}7v7q;6E@Cv?qJ zO|zBk4|}7l+o6+;o|)1UyzpD!#TV&U0|4LS3jNyV0IuRC+EF*hwG^NV=_crZt5p6S zGo@cioWOCYE9OWHrCBl@G2&$;==HHd4at-bqd{lK1~pM)G;c?GIyW|`2{Tp1XwaKu zgPJ^HIFADHeLUhv0yRH2s7W;XIvefj?Xf{krZOy`l;UZfvO=d};ZKymEJ|=D_YJ(6VrPpu(sndfs*OMJmNxSg9{?vAnvV@-aJQfS qOGn7RN4gvtTBY?V?$d6DT16S__^kh;WqeN08tV9hIR3Jau>KDeX6e8H literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SimpleTodo.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$SimpleTodo.class new file mode 100644 index 0000000000000000000000000000000000000000..e8b6ee2d344d0a897cd257069a6b277fbb2a7e4a GIT binary patch literal 2150 zcmcIkZBG+H5PlZu3+0qo!GidLpyeo>;wyqC2vJE82@n#$d2Lr%yxx(!EeWXK{Sp2M zO>9Us@dx;$j5FIJ1RC29waImMXLg>Moq1+|{r>(Fz&xHL&?2ys4~kC7SNS0Ho$ajy z83s;KO0E1YNBM6<*D2`031ze!_>pv8D!-& z*YR9}c$M3cc`XpvWLzo;^ei76*L6r?W(8teX-^7RZWO64U&`vE1RsEAwxFDT}Mcg}O^%aF1zkW1S_P>>1q3B38=38v7C zehUM*NHv~QzS2(wS~KID0-ejsmn)@WPKFyU<;}@*Z8zOe@xH2T-;$c!%^mHdlAh^l zI|MFUh#^il)7y$}z1rl$Q_Yf`22+Q_UAK_naGj)_Kfxom-LQ~k8|Pgi1#8DGw6nH@ zw5wHyu|8`d#rhQK7mw&Rbac%cgkz^$7CK;6!W*Y5``C8J!a2lKXhpxkr_9-MHCIz3 z!?OXn+o|=S6z1hK#f=`UIong*S{kS&pQyUv(SXV*fky%hO<*Z!@b~Eu=sw<5M~Paz zA|w4Gh%~NIAzSI?qGyYFMXMHWxRKOcBdMK6Qu~agju=VRCz+ylpGPP8b z=*y6ff5{){eSL@vUufNeH2w1_;5`P72DBT(r5XqhS@>kk{)XYx?gz%*svN)-T&078 zE>sU_q%ok;xJ-~)4Cr>{sG*p0rZ)4N%GIy1Y}Q?F>Ghc7_leI7_-xDWn}Dhtc(de9WTSN(}^;sPsjUc z;;mJ1s&penGd0Z7teG2Te3qX@GgVoB3ejeCJUub9;`!mp$@2R}Uah!KyB0jaLy|qT S5}3g(`S#Lkj^txwpZNnl#*w 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 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoInfo.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoInfo.class deleted file mode 100644 index 30640bb2653163ced1f5e6ff548266446c8f3f4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2605 zcmcguZEqVz5PsH)-!DxGrEm!^ZE3-|v^fd|3Mq!fZW<#KP!m-`;sa;jHr;Z*v+mZF z%C7>6Qzel2#uvnILd>k~8pVdY4^b`IvpciyUNG8sl;BHgc4IMOm{OYN!P{zQBAIP#-T_%JGC zS>XI*?}_II9szvado24}prm<$FR<2~8IN>KhwKOxwbFqUsQWVM$7-lm6bjV5BvB`! zl)TTHP7b{Rt*i`V6~#(FCFn$ZdXxy1{gG^YnymKt5UmE%?M8hsVD&N0=&U-0I}D_j z{x117o9z))xi?aQFJpo48=GgEm*)xE8=pXqY}_A(>|rN-q7u~$}@2F7erod8T^MSx>SB3I$ zH0a6r*dw3WQBLp!FIGICD61z@8%og4U7%FX-FX!Pmn{@gqNwyEMG+sKX~HR66?TG& z#fQCPq0EP!BV~KWGB#~msIX~;OuNr1$Cm3Bs%%;PmxcMqHrGOpZFRDJGa)1E-?va_ zJ*VKvFq5?(TCiAKBW-(1(~W6n77&#;ePUq+=f*y_W~^n?9Sf^-roE?Z`rN{KlxkRl zE$~NUKKCzPvmn0ztk8Myn0K|KXcYJ5zGBL)FYH0vOfqT|osbHq6;QvBNg4YBtuv?< zV$-z65gn$(Nimc0P$v2yN;EFh4J=W2t)al|rcr^3XC$%ANaB={#2+JxFGdnWjHF99 zl5W^Yx=xZS#Ko7eMtCpNtVHKrAo&V?8>Hh;=y50senA^-pY diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoProgress$TodoProgressBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoProgress$TodoProgressBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..3f181858f95029d55bb01df14763bb560992bce5 GIT binary patch literal 3005 zcmcgu>r&fB6#mv=1g;8%qy$2fhLlj-Nm1`NLsD=;aAPhLGwF2tYi%!PgRJ#PE2im_ z^fB6*WYS4z`T%*TPS0AZEng<^!{vv(dybC2J(q9K@tc2M{|#Uh2NqHc^_prrp(ks~ z_nhO#ufkVOQwS}+h9kWrpF4G}9A5-2P zp>*rQw=m8y`;4D*$K?dPUwtNOnjxc==5A4i9to_(u=IqsvMEa5sSIS*6`P(%CR)>u`>d#tTHLlYJ>uHX*1TripdhxC(t-AQYgg!FRSz;KV8g;X!%Ejt>7A+* z;Y3G9-fi=mR{nG2HZ`o@l99&N5#SE@>aGY@%1WJtt-@gR2~E$3hs3oZ=07LwqiNBT z(io!1UAH2&D9lXYyGd*^gu}Ct8o72rvz8I`fDePiBMRa#HL}@5c^@D_F%ZoJ); z24KVzx`lfp&^s#7Sf*w)Mi*opDbx2!vPd%PB&{hk0S0t53kG!5&B*%Q_BYc#7zU5V zE4@u3Um~qTD2�{uSo_Xn%TzehoO#!h7^6-bw&_f~%CB^L9) z(>8^EsQJhwh9cuQUiu?)Ht5p1L8F9GvCjs*es0hx3oOxdou1`a$PQ0`RLO-- zCGX(w5bPom(Ny1H_Tc`Bk6+_+;BDZGF?bqZw;AwFkL%x(Zj!+7)AK#HNV-Lb74Z;{ Zhykm#?$An81tnU4KpA^j#C{v;;lCpL81Dc8 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoProgress.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse$TodoProgress.class new file mode 100644 index 0000000000000000000000000000000000000000..b3a5b21812afd6499ada72881273e0c338da932a GIT binary patch literal 2129 zcmcIkTW=CU6#j-wDY(5+iur_Ve#K#3jn7ZuX?ral%@E7@@ ziKK}p{s4cJ@ytSn03H0HEgWBQ?>SeNu(#UMr5#z3o35;qnHNKZVRFyfw@llj zAa6>0ysQ`!N-E3FOW&abD=>^x=7!A`ue629MmxkNcgx&SR+TeE6~*=_VlfEmD`A^O z;i*-I__nAzmhxRPEA^|qw$K&o+pVrs!dS@{c7?kPwM=#>3A%whg5tAQCQ3TD zMTm(yFF53K;gI|6G&pl zKnmv=M%IKQ)H*{rlig*QC<=#f`1KNZcPy%17c9$`y=%EbpWDK*DpxyQ^dRR#91IHv zq8OnIshXh6ZVerC0&9wL=Z`Q^XTEG8rZdlw_K?{fT55}{21d2TXi$5=(Il~=kENA9 z;VE!a7nCy)MTGaNy^@~7 zBK0p!Q#pc=W<2dent#DcEDKg@E?J!k_L`k>jA5MYCP*?unn_xx=*y5y|3-fz`St*3 zztTR0^YpK+fCgp*3Fwr@+<*usX|!cD_Z{{ef8pD9U{;-qsF zFgMr4d~Uvp#oR&@OS#!d6Iq=l+|^Jw$g;v0d6kp)`{ebbA z=mJ;nl(2K*%9X#u-{21*e$#TNy^H2M=gfD$Gc#Z3{?LA(topO}^A{0?=p!c=qd^h! z4(>#&S-_Lfb4&4zo=q@{ifuL&4BLg%>4i)`Bd#wR>4YxQtewThCYwAIDin67T|Mq2 z{zb!59gHSByQGMwN(B)QF>zH63N-MMF_QY#yw0C(r=RmSU;E9_W|+2|v|Pt(V-? z#@LkD;s3-}7VdBgk1p%0dT-t`lf9#6&g$=)V(gpE^(e0RQZci?YZ3Fzv2!?nxT82S zY*@OP%rOc$a!xTu9*o2YPEh8~zrt_A8b5}YGoURoQKGbNYR+7f~Oafc>MpeS;hE1?^ z3%730L&Y0a38&kPB63!*Y>s3zi&-NFj^CO3#*LgcW~AaqHpl5MqXpU1>99d_WT*0G zGGSyn-Dfl>$?YXO_L=gA740FTn54BTQ#2JR(qntD!xiU0SdpJHnw5&pwnds9D9Ur2 zVq2xzfug)*6qhOm_hP=91F!cBTA5|#vFhApv?M!EI8D=>siKSGJq@)f_q39ciuKNB zDGRldn~L>;Q9_QcFLzNZPeh-8$w%ap4;L>uxclAT?G{^sW;QBz0>}9{oyBtwik_-Z z^+9}%Tr^1yz(XK60-NyL6Mw5l!0$f%d0oo*X$n<87(^owu0!mm3&>nFO&5X76rdTb z&yt5O0WSmRfN|hF&;Tv~mw+bl3NQ&w1Dk;v;0iDc%mMSjRp9ke1ZxOx0&fBD0M{|F nkLodS1HLqaplU5{0)};0mFTzg~H|HPHaiuz%pDDC! z$F;em(BGdc_(3RAk4N;asr!Z&2rF?o7$cZsp$tV|SJaG3dW{utEshk%V$hH!a`Jp- z%=0h({Mmy>4;#;vh)!?W{M6bQzV`;sTBYtF{Kcx$DqomyxE)`Jek630%mABU4`c@F z1kUP9)BTsq5O<-y;ss&R`&{=90|PBJRoC0Fxsq_Bd%cU?fa75N`pDmJdWQzugtAg5 z`qsIAz{k#>LvZB_BS^}T{m7!+lS^k-v$S5Jz*p`B75RH|%2>ra*`LeR)YtJF*(M%~ zTo>6B!3ls&9!)O`e<%ITSB7zvq@wJBW%;Tk>~54oT51}$B#U4h?*%6j#Ru^!!$L-I aN3bGT6|4z11e?Np1Veb9a4Oi9ihm7>#h|VL diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$MinutesItem$MinutesItemBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$MinutesItem$MinutesItemBuilder.class index 0bc1c23bf54ebce809eae220361b560a87eae661..21c0271feccc0095bc6acf1490e69e9c2a573fd5 100644 GIT binary patch literal 4754 zcmcgvZF3Yw5Pl{hxeykD5qVWa4R{GJhlq$AAjw6-nF~k~K!Pvq-A%}lyWOkZxm3j} z|A#+AtDvyZvi$6ivV7)dO*XenZcBkw%}vjFK?Z)IDWz84qk{651GiAuej$)y%lATAm{VR`%dnzCJs)9X5mwf+8JDNp zs!^9g4m$+)K6cmKLc=BLt?FZ0(*ir2ma1GA7_DqRU(f;HT@*Mn-}ba>%CfhnLRD?Z zNze1Os}&6~TN-||>aP}Nq$dMc%R09VXr&ucz=^(K(Jlu=ZfkQ>ZcPRu_X~(JEvN<3 zY@DPuhpYwWeT9l&a~soqvd9%#_cYv4&-rz=tgP~`h~DUI(oC&)sTyE!%MG-usg~>M zlFtvKzV_>WB#+Yjt%jr#i<{t{2&AF&oi~iAuw+f0TE7#@faWg=3|>~A(pLrg^W%2~ zc9i_O97aEmIyj6Y0wWdW$(!wFRR)VL-DiAezU;0WD6@{h9ePF4HPyUXvvsIoN{{ z<{uH3fzj{B}^2 z*Of`&2UE)L8RKetb;|d3r~|h(C-sV74~Ov$zRTfTfw9fQP~MuqDht*P)?L@#n)ZWr zeu{f5(zb**T(91c;aJ7@SKF;(($*NVW#i&{OQxtli0P-CaYRva8;u2}WpQK> z4~9?`Vt<+sVlBv-m>jhr`R2c^#uahuSf@uYLcB>ZYuhClDQXjpxX~k+#nwi^AhAv$ zraiUZt!Dm3@tkFs787GSoNxP~$z8nttB)5%ifV&Q*>pGY@g@ zGxa=yv9c#H*7yX*DxAPr4-*(GV*+E1Okk{*35<0!fw6)nFxJup#;TgYSYHzuD_|F9 z@*_Jz`X}zKw}}?0DL4;IJi|M`bX@o@e~ppAaUA2XV-@K7_qk$i#Rn-wMPhw?o|`!N z6k`)VQ|v=G)qblIQBgTML$<=bNl#=ZwL!p)*_$+p9cE8U&u1pJSCJX2_d#9A zOlt44VBgy__%CKAwaI{OQt#8hl$q3K6Txo0XGmSnOls4SU}N8t^lD~Oo6p#>^(MWR znbamkHb|J-Hu!m?N|{M*Miux1*HcJ6#;-}2)4yTn{=^ezzb81sk>{A;IL&dE;~d9% zjtd+YIWBQr=D5mnjidAo<@CI1Q}Fag3a(%-#g2BT1_86=O10rv+~lKkb~% zi@- zzK0KBm4CGg3Ja@z0Dt&MmZ!IeWRe-OTP5(LXKvr_K7IT4z4!Fr|33Q*z%(A@&?WGo zsv2%H@T)2e+?9tv%22rtDYYLwbp2pC^xT?OZYZNQ6-3gV^Mj_AQQ435?N~P!>q=TS zlJZQ`uh(RlL$|=bN8Y;U);)sWtUQucEzsYvP^Fr{{_@uNf)2TNLEy;kW}y9sECuU+ zeo23$R1IL>RzPhRLx)Z?d0bRXEt^W8b!ZWHC0r!okr5R zYjw#z7PpkWm;AujR|NLt$Cm`Ui>f9Eum>X!-oo1g!(~5^^UX#@hKnALZO&>eTJl2Q z^kZeWUh#RPO8He^AU&|2PhZgZtKYaE0>>Qmpw~$6JLtF4n1cZ;opdmWUICdey(W9c z9XQx4@KfxPjEH$nmYi}hgkj^EGYlI3@e}QJP_%#Xk!b7ADPHSTS?e2~Avb2UCODhEi7F08=%30skze5?UbH;d; z4xCX+M>_P@=A>RxwP*nI_$r5+0%Kc#_k(q{DqVYG>zP@vs#UmQTy{&~=cHre*%t7I z7u4!98Y?Tc+FUE7ZB1ylEnM7KlNrh%R*%ffIk=K8QG@K2Tx63lxh zA;-*{Z#-w%%i`3r7Bw0n$&IFO$XJ; z*TwPN#N-paH}MBFK5fAN1hSwQ z>ae1;2R+*{sLegW=ULl}I@d9%Ov=6BqAJJZ7do z#wgoywi9f5wn?_rY%bebwsUOfpQ4bR)3!WJZI*{CxSFwVg?VF2$^~L&?)e8kzOZbLWM^L)U|F`%K_c4MW IS_n)30l!ynE&u=k diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$MinutesItem.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$MinutesItem.class index a5fec251427b8fe9776b36483e5923dc9a0369c0..e63f338d7026c70f5e3c2f1adb731f30bf649e43 100644 GIT binary patch literal 3353 zcmcIm|5F=96n{s7kgz2*ZE7P$TcriAw5L_8_M3%N+Gv0p0$PmPBiYie$sKdIVFv#k zfA$BR@uo96n4?KLC+IxAVbSnSlWp!%9G38&ZZ3NF5>23 z`Ht7!K=C*>iY=-4SO|ulLRJrPEK3&62pXbc98Nz`IQYuT%{{UwAPpCMxWFUr>%lQ6g~0q+>c)q3gBfo z1PMBB(FrW8{;eF?dt1;Ld&l67W8~Uk*Sw%SyAJHPu*;6Sg2p+@e#D;lo}d%#Jqg4I zeI>-JKM_>eJI3?UVaJl7lk6z+`3@Bq&v+o{6wly|;~8gog*lJ=s(2{l zGFo3K!wh|eoBYoeY|-dmeWA;v3J;9pHUsi6%TV9f-6RX5k}(fjl`Wp7EnlMsDyoA#b_AuOhBH+ z-wbU08~K$cA3meke}q0jZ{k1CBDz3R#zGifpo>Q!IPmbyA^T^V?q5D-mW$p5nk5?( zExMElG?xzON+OVx4(RPfpsVSC-lg{va&+wnlhFMXADyEQ=)(k{>**r8nFw?%9neRK zKzGssEhHwpoDS&YM4-iVK=%`Gt&;B6K1~FwrUP0|1X@W4^jRWMEgjHlswWU~EgcYE zHvbCrj6VOVuS6~$*+$OO7l(nYv#^b0eZvNjeJP@8doH3m`*K8%T^fw&s$Cq4=$c&` zj_A5w%0zU_E{#NV$1Y_fD%+)8M2mKDG@^=K6cJVJ;_--9?BZBNHM^LPXstiKX%pY~ zy?x_0hX_o!=ib;b{hm8*gC9EPYtZ1w4GkI_cl{xwao^|8-r$D_R-z72xkhgWmu^VvWB9dF=cUqXF8WFCh!iEcm_#>Lj#pARifj F<1e#SUpoK* literal 2760 zcmcIl?QR=I6g}g_-%HZEHNp|tcE^$0 z=iw(mKw?!1Bp!fg;8_s&j_oG34QoM(lP}t^9$OQAalm^IX#aMcH56-M+@Zp!#uYuP--2=_jE`bZ3v{b(mg3)jrQIjPBW4A^dJ(*9?39L zfiECjg6o9R)3RG9=*kdItG;wvLC5PgDY8#9LS5>4k=_ov>Y*Ag9w%-+od~icuY+#T z2nIf(mWY-oJxP1)A3L+{f$DW-DA28~wO%Q4CrR8I?n3ofA5by$DXxE{BGvB6y6*?X z2oXV?lv=%@-wwWW?nqyT%m<|`HiE9qq9X9^|6O1KE2vsn#hU_|o61*uQ(&RCb|A3a zQoh_7^xHDr_o!|zme1zE3l+~tPU}$Wv3f`uXNlD*ZR8>Fu7xx*^l|!;q7UDFwcHbH zIV!|Rj(4kB$ntK>T;1?0yog=4kmFdMVtYoLoN?7cp1lR~9*l)bOt>8U&_V%4k~Re! z$GWYKKX!(4Iqee*7G4uLO=+!{WX#deEG%*K1nAaN4&1b`%%x1G4WqX#oZ={_y%091 zZCNg3~B9c)SErI%fzB~fOv9zf%(gip%8{Kfy-Hwd(-5}C!w(z%gcB8{HGS;8&TEJORf zPWBD@)yT(xxnHsJ&2yalk;W;!MgMsfa1L)94`_CtDxF4fD8eh#_RqL5nO-sJ)^GtX z;yqd@@O~oDrTKu?5`pabfUYD0tZUd9Jha(IR5I)E3%3^Gl2depGEmi zn}F=gF)r9wVqCJxLX5gyF2-n1 z*0E~pcs9fzT~*r2bR@ptP1BROTQvC{G##tSZyy$ok2_P^jJP*(7i#i5MOi%J{**H# p?ofF%;vQ8nBkoc~LcB|}6kL2wwnQU=d)TJcD>T|6yKCb2{sK2w3FiO+ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$MinutesListResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse$MinutesListResponseBuilder.class index c26b3aa6e65abe59ccc8ed50fc99f13fb8c3ec29..8552e7fb32678ce050fdaa5cfb27519ae03c297d 100644 GIT binary patch literal 3538 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 literal 0 HcmV?d00001 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.class index b570226d3b39bd80064fee0a7d71cc100d965a18..d5567a6f8dcf556e315cbe9fbe9606f8c0def0fd 100644 GIT binary patch literal 2764 zcmcIljcyZ15dPMV=xz_G zyaX>&q*lU0DiROShpPJR*^Up#f=D?moo8ovcIMleZ+8Fv@1OSo)^RJ3jKF%s?>LdC z8h+q8Pg^f#;5!{Dwenhy@}2~))6~8b$nd%Eh0@tnUZiDMQ=z`wpUY!HVD_2&!gbm% zcipZ(lMO9!pfj|kK`pk3v}!wM_o~43wrY8gwG7xxNT1mnA zn95x5MPRTKcX?>lkyY=73RS%=*FBHP(27MBI8tl-ox1;GRp&2B_a~+xOi-8NEL_ z(~>%Icv>-^yU5nqHJLuerXjFoA%{t(Pd`;mZDs$JWi1Z!i1!lYWqvkHurn5>Q4laG zs3f^egQ_t&YvBN_goBvcX61r~gM*bJF9q(TLdK!TRTJ!c3o|%WKo)ZX&C+OfHmcSA zr)fD6)3B#I8YcaEe-_-wKjioy&j&m&Z2M8rkhhfSgt-Lc2N&@LLwW(L>amL}Z8r>M zmznOXyzyOj54KX^}D7z3r>+<9CTNVT-Qm4|gEk}VnPO=+$O9<{=|G}WUfpOBp+ z-4uAV|0u&#B#7IOfhG1#mXCA}8FQOZ%Tvo>iXR(39<#4w$u5p18;o*_>$5mayCc-h z&ZCsa_?0+kepByIeDD@u{KatwC-`ryz}+X~8BqHYUon0!=BZtt99oziIr|M3N8QZC zZmgaGzQ#8+6j;W$V<0)48#p@sI*vZXGu}}ND`OoE5!rw4$ix8xUM+Xz}$j~zvj|@R4@iWIgc9@-0tbZ1l kIG4d?{6e`v{R(H-=&eZkD`lDT8s&PtH^=qsTr1>OE@{v9Ww7hHfwWhZ8)_NkRiM`!z63f126vo2$F4ZcdS2L(MJ>=< zJ&I*Oz7`Q`Rk2O>fxC}ai4`&| zhQ2Rd{lY1eg2)|)n0+9SD1@p~lD@#}^i2EsM0@w7UV-E$*GWrNWzOAGfhttwvg?wr zR&2Y#aK7SI3*KA%nRKP^Xjx)PN7gIJ1kMP&YFo2fkV|3&DGOs57wB44uF^{a@$}4= zz(8KPaxJVDq`&EqvmxpgoywNuE3Cgu^KI^Ozip$DHjKK@S8jTIfU<+o!h` zTbn)oWI2mI{>9CRyx5-=Q|zjR9wY@!3$jtQF(79GW-Ro=iU8EaXHITd=!2C+94UcR zy18L1xttk6x%r^|O>0z2{XN=uyNBaVZg`eBmHQ{71Kj-5#AvW(kH#?fr|I^wrhnjB7jY&t1kB9t<3eU? zAJdu9j(wyvqn-PhHD%(Fi4N7u%u_i`YmCBJbtM_gXvnBy(!3~CnX!zHI&q73eTXK$ jn`4UOHhnSN!CkJywC3r(PmB?+54b+0zngLMc!ZJP-Wm9T diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log index 25fd166..53af59f 100644 --- a/meeting/logs/meeting-service.log +++ b/meeting/logs/meeting-service.log @@ -1,357 +1,1335 @@ -2025-10-27 09:07:31 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 78756 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting) -2025-10-27 09:07:31 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 -2025-10-27 09:07:31 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" -2025-10-27 09:07:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-10-27 09:07:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-27 09:07:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 64 ms. Found 7 JPA repository interfaces. -2025-10-27 09:07:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-10-27 09:07:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -2025-10-27 09:07:32 [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-27 09:07:32 [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-27 09:07:32 [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-27 09:07:32 [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-27 09:07:32 [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-27 09:07:32 [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-27 09:07:32 [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-27 09:07:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 0 Redis repository interfaces. -2025-10-27 09:07:32 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) -2025-10-27 09:07:32 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-27 09:07:32 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] -2025-10-27 09:07:32 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-27 09:07:32 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1019 ms -2025-10-27 09:07:32 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-27 09:07:33 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final -2025-10-27 09:07:33 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@44a13699 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@44a13699 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@44a13699 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@1253b822 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@1253b822 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@127d2aee -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@127d2aee -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@3cc2e3e -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@3cc2e3e -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@4e14d520 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@4e14d520 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@4e14d520 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@4189e668 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@4189e668 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@4189e668 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@3a589eed -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@3a589eed -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@5807ea46 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@305289b3 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@305289b3 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3ee68377 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@4037cdb0 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@27055a2a -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@27055a2a -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@27055a2a -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@33e4068 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@33e4068 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@33e4068 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@9499643 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@9499643 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@9499643 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@7a34505a -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@7a34505a -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@7a34505a -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@b787274 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@b787274 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@4ec616d6 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@4ec616d6 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@55b45ea1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@55b45ea1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@55b45ea1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@d5a72cd -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@45f95ac0 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@45f95ac0 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@3b77940f -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@4c418496 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@4c418496 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@4c418496 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@12d35bc9 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@1df32c09 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@1aa31454 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@5a8656a2 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@5a8656a2 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@52035328 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@52035328 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@5614ae05 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@54970127 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@3c4c7e51 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@749ee0e3 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@7891cf3 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@6bfbab1c -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@349aeec4 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@349aeec4 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@3700994c -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@3700994c -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@78a165db -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@78a165db -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@4eb48298 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@4eb48298 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@2d3bb944 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@2d3bb944 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1e429f56 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@7744195 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@7744195 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@77f529a6 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7d47b021 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6516181f -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@40cb95c1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@40cb95c1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1ead3c67 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5e2b512b -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@ba87c11 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@ba87c11 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@17d19538 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@17d19538 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6068cda1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6068cda1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6068cda1 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@644e6a8e -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@644e6a8e -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@644e6a8e -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@2ccecae2 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@37ade216 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@118e2487 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@118e2487 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@6032622 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@6032622 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@6032622 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@5cc075da -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@4258106 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@64ef2719 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@64ef2719 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@7b423f90 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@7b423f90 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@7b423f90 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@24f3fb87 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@24f3fb87 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@c7673ae -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@c7673ae -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@113c4ad6 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@113c4ad6 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@7be859de -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@7be859de -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@40fcaae7 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@40fcaae7 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@7fa85a55 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@cb1c58c -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@48f4264e -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@48f4264e -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@25e353dc -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@234ce7ff -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@3cfab340 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@3387ab0 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@470f0637 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@6b278b17 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@2ae5580 -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@4203529f -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@7d82ca56 -2025-10-27 09:07:33 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer -2025-10-27 09:07:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... -2025-10-27 09:07:33 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@790d629a -2025-10-27 09:07:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. -2025-10-27 09:07:33 [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-27 09:07:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@180fb796) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@79ae3fb1) -2025-10-27 09:07:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7fa8fff) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@4423692a) -2025-10-27 09:07:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) -2025-10-27 09:07:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@7f584d0c -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@7f584d0c -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@48f4264e` -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 09:07:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 09:07:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@25e24908] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@2941631f] -2025-10-27 09:07:34 [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-27 09:07:34 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@25e24908] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@1bfc6e50] -2025-10-27 09:07:34 [main] DEBUG org.hibernate.SQL - + + . ____ _ __ _ _ + /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ +( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ + \\/ ___)| |_)| | | | | || (_| | ) ) ) ) + ' |____| .__|_| |_|_| |_\__, | / / / / + =========|_|==============|___/=/_/_/_/ + + :: Spring Boot :: (v3.3.5) + +2025-10-27 13:55:45 - Starting MeetingApplication using Java 21.0.1 with PID 55198 (/Users/adela/home/workspace/recent/HGZero/meeting/build/libs/meeting.jar started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:55:45 - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:55:45 - The following 1 profile is active: "dev" +2025-10-27 13:55:46 - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:55:46 - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:55:46 - Finished Spring Data repository scanning in 103 ms. Found 8 JPA repository interfaces. +2025-10-27 13:55:46 - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:55:46 - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:55:46 - 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-27 13:55:46 - 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-27 13:55:46 - 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-27 13:55:46 - 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-27 13:55:46 - 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-27 13:55:46 - 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-27 13:55:46 - 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-27 13:55:46 - 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-27 13:55:46 - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces. +2025-10-27 13:55:47 - Tomcat initialized with port 8082 (http) +2025-10-27 13:55:47 - Starting service [Tomcat] +2025-10-27 13:55:47 - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:55:47 - Initializing Spring embedded WebApplicationContext +2025-10-27 13:55:47 - Root WebApplicationContext: initialization completed in 1582 ms +2025-10-27 13:55:47 - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:55:47 - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:55:47 - HHH000026: Second-level cache disabled +2025-10-27 13:55:47 - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@35d81657 +2025-10-27 13:55:47 - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@35d81657 +2025-10-27 13:55:47 - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@35d81657 +2025-10-27 13:55:47 - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@42ef5216 +2025-10-27 13:55:47 - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@42ef5216 +2025-10-27 13:55:47 - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@3180aee +2025-10-27 13:55:47 - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@3180aee +2025-10-27 13:55:47 - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@5d94ac8a +2025-10-27 13:55:47 - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@5d94ac8a +2025-10-27 13:55:47 - Adding type registration byte -> org.hibernate.type.BasicTypeReference@288b73c1 +2025-10-27 13:55:47 - Adding type registration byte -> org.hibernate.type.BasicTypeReference@288b73c1 +2025-10-27 13:55:47 - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@288b73c1 +2025-10-27 13:55:47 - Adding type registration binary -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-27 13:55:47 - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-27 13:55:47 - Adding type registration [B -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-27 13:55:47 - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@5340ccb9 +2025-10-27 13:55:47 - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@5340ccb9 +2025-10-27 13:55:47 - Adding type registration image -> org.hibernate.type.BasicTypeReference@2bc8caa7 +2025-10-27 13:55:47 - Adding type registration blob -> org.hibernate.type.BasicTypeReference@582ea164 +2025-10-27 13:55:47 - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@582ea164 +2025-10-27 13:55:47 - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@2fccf49e +2025-10-27 13:55:47 - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@7abcc0da +2025-10-27 13:55:47 - Adding type registration short -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-27 13:55:47 - Adding type registration short -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-27 13:55:47 - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-27 13:55:47 - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-27 13:55:47 - Adding type registration int -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-27 13:55:47 - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-27 13:55:47 - Adding type registration long -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-27 13:55:47 - Adding type registration long -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-27 13:55:47 - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-27 13:55:47 - Adding type registration float -> org.hibernate.type.BasicTypeReference@6ec2d990 +2025-10-27 13:55:47 - Adding type registration float -> org.hibernate.type.BasicTypeReference@6ec2d990 +2025-10-27 13:55:47 - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@6ec2d990 +2025-10-27 13:55:47 - Adding type registration double -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-27 13:55:47 - Adding type registration double -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-27 13:55:47 - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-27 13:55:47 - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@612290d +2025-10-27 13:55:47 - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@612290d +2025-10-27 13:55:47 - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-27 13:55:47 - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-27 13:55:47 - Adding type registration character -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-27 13:55:47 - Adding type registration char -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-27 13:55:47 - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-27 13:55:47 - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@60fbc34d +2025-10-27 13:55:47 - Adding type registration string -> org.hibernate.type.BasicTypeReference@7736c41e +2025-10-27 13:55:47 - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@7736c41e +2025-10-27 13:55:47 - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-27 13:55:47 - Adding type registration characters -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-27 13:55:47 - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-27 13:55:47 - Adding type registration [C -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-27 13:55:47 - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@33ccead +2025-10-27 13:55:47 - Adding type registration text -> org.hibernate.type.BasicTypeReference@42ebece0 +2025-10-27 13:55:47 - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@15c4b1a4 +2025-10-27 13:55:47 - Adding type registration clob -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-27 13:55:47 - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-27 13:55:47 - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@51b59d58 +2025-10-27 13:55:47 - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@51b59d58 +2025-10-27 13:55:47 - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@4ca4f762 +2025-10-27 13:55:47 - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@7c5d36c3 +2025-10-27 13:55:47 - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@31de27c +2025-10-27 13:55:47 - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@7ebfe01a +2025-10-27 13:55:47 - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@154b0748 +2025-10-27 13:55:47 - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@35c00c +2025-10-27 13:55:47 - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@6cd7dc74 +2025-10-27 13:55:47 - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@6cd7dc74 +2025-10-27 13:55:47 - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@6d695ec4 +2025-10-27 13:55:47 - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@6d695ec4 +2025-10-27 13:55:47 - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@20556566 +2025-10-27 13:55:47 - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@20556566 +2025-10-27 13:55:47 - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@e4ef4c0 +2025-10-27 13:55:47 - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@e4ef4c0 +2025-10-27 13:55:47 - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@5ca8bd01 +2025-10-27 13:55:47 - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@5ca8bd01 +2025-10-27 13:55:47 - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7b10472e +2025-10-27 13:55:47 - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@70e5737f +2025-10-27 13:55:47 - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@9746157 +2025-10-27 13:55:47 - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@9746157 +2025-10-27 13:55:47 - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@10ad95cd +2025-10-27 13:55:47 - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@69fd99c1 +2025-10-27 13:55:47 - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@32d8710a +2025-10-27 13:55:47 - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@180cc0df +2025-10-27 13:55:47 - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@180cc0df +2025-10-27 13:55:47 - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@64f33dee +2025-10-27 13:55:47 - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@61c58320 +2025-10-27 13:55:47 - Adding type registration date -> org.hibernate.type.BasicTypeReference@10e4ee33 +2025-10-27 13:55:47 - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@10e4ee33 +2025-10-27 13:55:47 - Adding type registration time -> org.hibernate.type.BasicTypeReference@6e90cec8 +2025-10-27 13:55:47 - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@6e90cec8 +2025-10-27 13:55:47 - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@13f182b9 +2025-10-27 13:55:47 - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@13f182b9 +2025-10-27 13:55:47 - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@13f182b9 +2025-10-27 13:55:47 - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@5ee0cf64 +2025-10-27 13:55:47 - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@5ee0cf64 +2025-10-27 13:55:47 - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@5ee0cf64 +2025-10-27 13:55:47 - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@69c227fd +2025-10-27 13:55:47 - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@14c5283 +2025-10-27 13:55:47 - Adding type registration instant -> org.hibernate.type.BasicTypeReference@1eb7ec59 +2025-10-27 13:55:47 - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@1eb7ec59 +2025-10-27 13:55:47 - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@46748b04 +2025-10-27 13:55:47 - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@46748b04 +2025-10-27 13:55:47 - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@46748b04 +2025-10-27 13:55:47 - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@3e71a1f8 +2025-10-27 13:55:47 - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@5d4a34ff +2025-10-27 13:55:47 - Adding type registration class -> org.hibernate.type.BasicTypeReference@7cbede2b +2025-10-27 13:55:47 - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@7cbede2b +2025-10-27 13:55:47 - Adding type registration currency -> org.hibernate.type.BasicTypeReference@1ef04613 +2025-10-27 13:55:47 - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@1ef04613 +2025-10-27 13:55:47 - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@1ef04613 +2025-10-27 13:55:47 - Adding type registration locale -> org.hibernate.type.BasicTypeReference@2d3d4a54 +2025-10-27 13:55:47 - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@2d3d4a54 +2025-10-27 13:55:47 - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@215c6ec0 +2025-10-27 13:55:47 - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@215c6ec0 +2025-10-27 13:55:47 - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@2b19b346 +2025-10-27 13:55:47 - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@2b19b346 +2025-10-27 13:55:47 - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@37c5b8e8 +2025-10-27 13:55:47 - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@37c5b8e8 +2025-10-27 13:55:47 - Adding type registration url -> org.hibernate.type.BasicTypeReference@706d2bae +2025-10-27 13:55:47 - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@706d2bae +2025-10-27 13:55:47 - Adding type registration vector -> org.hibernate.type.BasicTypeReference@3205610d +2025-10-27 13:55:47 - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@54e06788 +2025-10-27 13:55:47 - Adding type registration object -> org.hibernate.type.JavaObjectType@69419d59 +2025-10-27 13:55:47 - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@69419d59 +2025-10-27 13:55:47 - Adding type registration null -> org.hibernate.type.NullType@838e109 +2025-10-27 13:55:47 - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@7474196 +2025-10-27 13:55:47 - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@18209303 +2025-10-27 13:55:47 - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@57df09a7 +2025-10-27 13:55:47 - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@6aa9a93b +2025-10-27 13:55:47 - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@81dfdee +2025-10-27 13:55:47 - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@14b9df65 +2025-10-27 13:55:47 - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@3b046e64 +2025-10-27 13:55:47 - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@1c43e84e +2025-10-27 13:55:48 - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:55:48 - HikariPool-1 - Starting... +2025-10-27 13:55:48 - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1c528f2f +2025-10-27 13:55:48 - HikariPool-1 - Start completed. +2025-10-27 13:55:48 - 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-27 13:55:48 - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@4a36a35d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@52ba21e4) +2025-10-27 13:55:48 - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@558ed473) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@514f2020) +2025-10-27 13:55:48 - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:55:48 - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:55:48 - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@44580de0 +2025-10-27 13:55:48 - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@44580de0 +2025-10-27 13:55:48 - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@69419d59` +2025-10-27 13:55:48 - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:48 - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:48 - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:48 - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:48 - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:48 - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:48 - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:48 - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:48 - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:48 - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:48 - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:48 - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:48 - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@712c9bcf] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@3c34c491] +2025-10-27 13:55:49 - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-27 13:55:49 - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@712c9bcf] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@2ea8f277] +2025-10-27 13:55:49 - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +Hibernate: + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:55:49 - alter table if exists meetings alter column description set data type TEXT -2025-10-27 09:07:34 [main] DEBUG org.hibernate.SQL - +Hibernate: + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:55:49 - alter table if exists minutes_sections alter column content set data type TEXT -2025-10-27 09:07:34 [main] DEBUG org.hibernate.SQL - +Hibernate: + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:55:49 - alter table if exists templates alter column description set data type TEXT -2025-10-27 09:07:34 [main] DEBUG org.hibernate.SQL - +Hibernate: + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:55:49 - alter table if exists templates alter column sections set data type TEXT -2025-10-27 09:07:34 [main] DEBUG org.hibernate.SQL - +Hibernate: + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:55:49 - alter table if exists todos alter column description set data type TEXT -2025-10-27 09:07:35 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@1bfc6e50] for TypeConfiguration -2025-10-27 09:07:35 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-27 09:07:35 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. -2025-10-27 09:07:35 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) -2025-10-27 09:07:35 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 -2025-10-27 09:07:35 [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-27 09:07:35 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 -2025-10-27 09:07:35 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 -2025-10-27 09:07:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name -2025-10-27 09:07:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name -2025-10-27 09:07:35 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_c2537e_1761523655847"} -2025-10-27 09:07:35 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} -2025-10-27 09:07:36 [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-27 09:07:36 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +Hibernate: + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:55:49 - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@2ea8f277] for TypeConfiguration +2025-10-27 13:55:49 - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:55:50 - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:55:50 - ObjectMapper 설정 완료 +2025-10-27 13:55:50 - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:55:50 - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:55:50 - 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-27 13:55:50 - RedisTemplate 설정 완료 +2025-10-27 13:55:51 - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:55:51 - 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-27 13:55:51 - -Using generated security password: 88421a21-f149-4310-af11-e1a4194099f5 +Using generated security password: cea49d21-a529-4af7-810c-777f6d83bd4b This generated password is for development use only. Your security configuration must be updated before running your application in production. -2025-10-27 09:07:36 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2025-10-27 09:07:36 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} -2025-10-27 09:07:36 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' -2025-10-27 09:07:36 [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-27 09:07:36 [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-27 09:07:36 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' -2025-10-27 09:07:36 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 5.174 seconds (process running for 5.337) -2025-10-27 09:14:06 [http-nio-8082-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-27 09:14:06 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-27 09:14:06 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 9 ms -2025-10-27 09:14:06 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings -2025-10-27 09:14:06 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005) -2025-10-27 09:14:06 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings -2025-10-27 09:14:06 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 호출 - 파라미터: [user-005, dohyunjung, dohyun.jung@example.com, com.unicorn.hgzero.meeting.infra.dto.request.CreateMeetingRequest@633e13d4] -2025-10-27 09:14:06 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MeetingController - 회의 예약 요청 - userId: user-005, title: test 회의 -2025-10-27 09:14:06 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@790d629a (This connection has been closed.). Possibly consider using a shorter maxLifetime value. -2025-10-27 09:14:06 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@204e0056 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. -2025-10-27 09:14:06 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@7dfac03e (This connection has been closed.). Possibly consider using a shorter maxLifetime value. -2025-10-27 09:14:07 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@d43ed10 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. -2025-10-27 09:14:07 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@6cee018f (This connection has been closed.). Possibly consider using a shorter maxLifetime value. -2025-10-27 09:14:07 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@3c72f0f4 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. -2025-10-27 09:14:07 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MeetingService - Creating meeting: test 회의 -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - /* SELECT - COUNT(m) - FROM - MeetingEntity m - WHERE - m.organizerId = :organizerId - AND m.status IN ('SCHEDULED', 'IN_PROGRESS') - AND ( - ( - m.scheduledAt < :endTime - AND m.endTime > :startTime - ) - ) */ select - count(me1_0.meeting_id) - from - meetings me1_0 - where - me1_0.organizer_id=? - and me1_0.status in ('SCHEDULED', 'IN_PROGRESS') - and ( - ( - me1_0.scheduled_at? - ) - ) -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - select - me1_0.meeting_id, - me1_0.created_at, - me1_0.description, - me1_0.end_time, - me1_0.ended_at, - me1_0.location, - me1_0.organizer_id, - me1_0.purpose, - me1_0.scheduled_at, - me1_0.started_at, - me1_0.status, - me1_0.template_id, - me1_0.title, - me1_0.updated_at, - p1_0.meeting_id, - p1_0.user_id, - p1_0.attended, - p1_0.created_at, - p1_0.invitation_status, - p1_0.updated_at - from - meetings me1_0 - left join - meeting_participants p1_0 - on me1_0.meeting_id=p1_0.meeting_id - where - me1_0.meeting_id=? -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - /* insert for - com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */insert - into - meetings (created_at, description, end_time, ended_at, location, organizer_id, purpose, scheduled_at, started_at, status, template_id, title, updated_at, meeting_id) - values - (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - /* */ select - mpe1_0.meeting_id, - mpe1_0.user_id - from - meeting_participants mpe1_0 - where - mpe1_0.meeting_id=? - and mpe1_0.user_id=? - fetch - first ? rows only -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - /* */ select - mpe1_0.meeting_id, - mpe1_0.user_id - from - meeting_participants mpe1_0 - where - mpe1_0.meeting_id=? - and mpe1_0.user_id=? - fetch - first ? rows only -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - select - mpe1_0.meeting_id, - mpe1_0.user_id, - mpe1_0.attended, - mpe1_0.created_at, - mpe1_0.invitation_status, - mpe1_0.updated_at - from - meeting_participants mpe1_0 - where - ( - mpe1_0.meeting_id, mpe1_0.user_id - ) in ((?, ?)) -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - select - mpe1_0.meeting_id, - mpe1_0.user_id, - mpe1_0.attended, - mpe1_0.created_at, - mpe1_0.invitation_status, - mpe1_0.updated_at - from - meeting_participants mpe1_0 - where - ( - mpe1_0.meeting_id, mpe1_0.user_id - ) in ((?, ?)) -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.gateway.ParticipantGateway - Participants saved: meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e, count=2 -2025-10-27 09:14:07 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Participants saved: meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e, count=2 -2025-10-27 09:14:08 [http-nio-8082-exec-2] ERROR c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 실패 - meetingId: 5f9144ed-43db-479a-99bb-17b20a71fb1e +2025-10-27 13:55:52 - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:55:52 - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:55:52 - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-27 13:55:52 - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-27 13:55:53 - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 13:55:53 - Started MeetingApplication in 7.497 seconds (process running for 7.897) +ng type registration imm_calendar -> org.hibernate.type.BasicTypeReference@6aa9a93b +2025-10-27 13:55:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@81dfdee +2025-10-27 13:55:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@14b9df65 +2025-10-27 13:55:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@3b046e64 +2025-10-27 13:55:47 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@1c43e84e +2025-10-27 13:55:48 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:55:48 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:55:48 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1c528f2f +2025-10-27 13:55:48 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:55:48 [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-27 13:55:48 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@4a36a35d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@52ba21e4) +2025-10-27 13:55:48 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@558ed473) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@514f2020) +2025-10-27 13:55:48 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:55:48 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@44580de0 +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@44580de0 +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@69419d59` +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:48 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:48 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@712c9bcf] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@3c34c491] +2025-10-27 13:55:49 [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-27 13:55:49 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@712c9bcf] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@2ea8f277] +2025-10-27 13:55:49 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:55:49 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:55:49 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:55:49 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:55:49 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:55:49 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:55:49 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@2ea8f277] for TypeConfiguration +2025-10-27 13:55:49 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:55:50 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:55:50 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:55:50 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:55:50 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:55:50 [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-27 13:55:50 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:55:51 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:55:51 [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-27 13:55:51 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: cea49d21-a529-4af7-810c-777f6d83bd4b + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:55:52 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:55:52 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:55:52 [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-27 13:55:52 [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-27 13:55:53 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 13:55:53 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 7.497 seconds (process running for 7.897) +2025-10-27 13:55:54 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 55253 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:55:54 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:55:54 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:55:54 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:55:54 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:55:54 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 70 ms. Found 8 JPA repository interfaces. +2025-10-27 13:55:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:55:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:55:55 [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-27 13:55:55 [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-27 13:55:55 [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-27 13:55:55 [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-27 13:55:55 [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-27 13:55:55 [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-27 13:55:55 [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-27 13:55:55 [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-27 13:55:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 0 Redis repository interfaces. +2025-10-27 13:55:55 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:55:55 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:55:55 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:55:55 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:55:55 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1154 ms +2025-10-27 13:55:55 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:55:55 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:55:55 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@62c47480 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@62c47480 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@62c47480 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@7de2bdc7 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@7de2bdc7 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@683ed81b +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@683ed81b +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@3c116f26 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@3c116f26 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@1554eaa4 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@1554eaa4 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@1554eaa4 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@3b4f1eb +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3b4f1eb +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@18b30951 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@48f4264e +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@533d7c61 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@53c40ed6 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@3a6b94b6 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@22ee7fdc +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@1a88d194 +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@6949cead +2025-10-27 13:55:55 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@fe13916 +2025-10-27 13:55:55 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:55:55 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:55:56 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@25a2f432 +2025-10-27 13:55:56 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:55:56 [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-27 13:55:56 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@5d449307) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@44e7c06b) +2025-10-27 13:55:56 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@24a807a9) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@aca594d) +2025-10-27 13:55:56 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:55:56 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@18918d70 +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@18918d70 +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@3b4f1eb` +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:55:56 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@6b170692] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@4d4bac56] +2025-10-27 13:55:56 [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-27 13:55:56 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@6b170692] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@1912ba29] +2025-10-27 13:55:56 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:55:56 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:55:56 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:55:56 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:55:56 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:55:56 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:55:57 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@1912ba29] for TypeConfiguration +2025-10-27 13:55:57 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:55:57 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:55:57 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:55:57 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:55:57 [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-27 13:55:58 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:55:58 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:55:58 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:55:58 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:55:58 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_13ec4e_1761540958084"} +2025-10-27 13:55:58 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:55:58 [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-27 13:55:58 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: cee403db-5fcf-422e-9451-94c8afe8e9ef + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:55:58 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:55:58 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:55:58 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:55:58 [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-27 13:55:58 [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-27 13:55:59 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' +2025-10-27 13:55:59 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:55:59 [main] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_13ec4e_1761540958084","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 13:55:59 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:55:59 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:55:59 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@1912ba29] for TypeConfiguration +2025-10-27 13:55:59 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@e6fa52c] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@1912ba29] +2025-10-27 13:55:59 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 13:55:59 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 13:55:59 [main] INFO o.s.b.a.l.ConditionEvaluationReportLogger - + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2025-10-27 13:55:59 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter - + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Web server failed to start. Port 8082 was already in use. + +Action: + +Identify and stop the process that's listening on port 8082 or configure this application to listen on another port. + +2025-10-27 13:57:15 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 55391 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:57:15 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:57:15 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:57:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:57:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:57:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 65 ms. Found 8 JPA repository interfaces. +2025-10-27 13:57:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:57:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:57:16 [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-27 13:57:16 [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-27 13:57:16 [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-27 13:57:16 [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-27 13:57:16 [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-27 13:57:16 [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-27 13:57:16 [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-27 13:57:16 [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-27 13:57:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 0 Redis repository interfaces. +2025-10-27 13:57:16 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:57:16 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:57:16 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:57:16 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:57:16 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1119 ms +2025-10-27 13:57:16 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:57:17 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:57:17 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@7cd25bf5 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@7cd25bf5 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@fe13916 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@25e353dc +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@234ce7ff +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@780a91d0 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@3387ab0 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@470f0637 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6b278b17 +2025-10-27 13:57:17 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:57:17 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:57:17 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@47fc9ce +2025-10-27 13:57:17 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:57:17 [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-27 13:57:17 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@3c5bb37d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@558575fe) +2025-10-27 13:57:17 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@25fcdcc6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@180fb796) +2025-10-27 13:57:17 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:57:17 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@3a012678 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3a012678 +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@7cd25bf5` +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:17 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:17 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1a22c1ba] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@4930213b] +2025-10-27 13:57:18 [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-27 13:57:18 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1a22c1ba] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@66464f27] +2025-10-27 13:57:18 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:57:18 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:57:18 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:57:18 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:57:18 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:57:18 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:57:18 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@66464f27] for TypeConfiguration +2025-10-27 13:57:18 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:57:18 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:57:19 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:57:19 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:57:19 [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-27 13:57:19 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:57:19 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:57:19 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:57:19 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:57:19 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_29648a_1761541039242"} +2025-10-27 13:57:19 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:57:19 [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-27 13:57:19 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 28f9968c-5288-49a4-b39d-24688cb876d0 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:57:19 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:57:19 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:57:19 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:57: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-27 13:57: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-27 13:57:20 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' +2025-10-27 13:57:20 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:57:20 [main] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_29648a_1761541039242","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 13:57:20 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:57:20 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:57:20 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@66464f27] for TypeConfiguration +2025-10-27 13:57:20 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@8b1263c] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@66464f27] +2025-10-27 13:57:20 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 13:57:20 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 13:57:21 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 55402 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:57:21 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:57:21 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:57:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:57:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:57:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 8 JPA repository interfaces. +2025-10-27 13:57:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:57:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:57:21 [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-27 13:57:21 [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-27 13:57:21 [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-27 13:57:21 [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-27 13:57:21 [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-27 13:57:21 [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-27 13:57:21 [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-27 13:57:21 [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-27 13:57:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 17 ms. Found 0 Redis repository interfaces. +2025-10-27 13:57:22 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:57:22 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:57:22 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:57:22 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:57:22 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1065 ms +2025-10-27 13:57:22 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:57:22 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:57:22 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@7cd25bf5 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@7cd25bf5 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@fe13916 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@25e353dc +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@234ce7ff +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@780a91d0 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@3387ab0 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@470f0637 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6b278b17 +2025-10-27 13:57:22 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:57:22 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:57:22 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@47fc9ce +2025-10-27 13:57:22 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:57:22 [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-27 13:57:22 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@3c5bb37d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@558575fe) +2025-10-27 13:57:22 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@25fcdcc6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@180fb796) +2025-10-27 13:57:22 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:57:22 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@3a012678 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3a012678 +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@7cd25bf5` +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:22 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1a22c1ba] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@4930213b] +2025-10-27 13:57:23 [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-27 13:57:23 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1a22c1ba] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@13198b8e] +2025-10-27 13:57:23 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:57:23 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:57:23 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:57:23 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:57:23 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:57:23 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:57:23 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@13198b8e] for TypeConfiguration +2025-10-27 13:57:23 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:57:24 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:57:24 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:57:24 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:57:24 [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-27 13:57:24 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:57:24 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:57:24 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:57:24 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:57:24 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_197eff_1761541044670"} +2025-10-27 13:57:24 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:57:24 [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-27 13:57:24 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: dcb6a833-4f8a-4039-b017-fb78ebef5840 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:57:24 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:57:24 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:57:25 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:57:25 [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-27 13:57:25 [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-27 13:57:25 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' +2025-10-27 13:57:25 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:57:25 [main] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_197eff_1761541044670","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 13:57:25 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:57:25 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:57:25 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@13198b8e] for TypeConfiguration +2025-10-27 13:57:25 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@ba28d1b] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@13198b8e] +2025-10-27 13:57:25 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 13:57:25 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 13:57:25 [main] INFO o.s.b.a.l.ConditionEvaluationReportLogger - + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2025-10-27 13:57:25 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter - + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Web server failed to start. Port 8082 was already in use. + +Action: + +Identify and stop the process that's listening on port 8082 or configure this application to listen on another port. + +2025-10-27 13:57:56 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 55471 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:57:56 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:57:56 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:57:57 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:57:57 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:57:57 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 73 ms. Found 8 JPA repository interfaces. +2025-10-27 13:57:57 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:57:57 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:57:57 [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-27 13:57:57 [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-27 13:57:57 [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-27 13:57:57 [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-27 13:57:57 [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-27 13:57:57 [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-27 13:57:57 [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-27 13:57:57 [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-27 13:57:57 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 0 Redis repository interfaces. +2025-10-27 13:57:58 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:57:58 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:57:58 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:57:58 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:57:58 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1112 ms +2025-10-27 13:57:58 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:57:58 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:57:58 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@5fa9247b +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@5fa9247b +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@1a88d194 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@6949cead +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@278c998 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@25e353dc +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@234ce7ff +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@780a91d0 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@3387ab0 +2025-10-27 13:57:58 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:57:58 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:57:58 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@95f1422 +2025-10-27 13:57:58 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:57:58 [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-27 13:57:58 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@35d8ba22) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@3fc051ce) +2025-10-27 13:57:58 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3c5bb37d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@558575fe) +2025-10-27 13:57:58 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:57:58 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@2681185e +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@2681185e +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@5fa9247b` +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:58 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:57:58 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@430db481] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@15aaf7b1] +2025-10-27 13:57:59 [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-27 13:57:59 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@430db481] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@62b72289] +2025-10-27 13:57:59 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:57:59 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:57:59 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:57:59 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:57:59 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:57:59 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:57:59 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@62b72289] for TypeConfiguration +2025-10-27 13:57:59 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:57:59 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:58:00 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:58:00 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:58:00 [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-27 13:58:00 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:58:00 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:58:00 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:58:00 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:58:00 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_3bbe04_1761541080277"} +2025-10-27 13:58:00 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:58:00 [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-27 13:58:00 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 575571d3-800d-49f6-b121-c9f49f54fa62 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:58:00 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:58:00 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:58:00 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:58:00 [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-27 13:58:01 [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-27 13:58:01 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 13:58:01 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.544 seconds (process running for 4.708) +2025-10-27 13:59:06 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 13:59:06 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 13:59:06 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 4 ms +2025-10-27 13:59:06 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 13:59:06 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 13:59:06 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 13:59:06 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 13:59:06 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 13:59:06 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 13:59:06 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 13:59:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 13:59:06 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 13:59:06 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 13:59:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 13:59:06 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 13:59:06 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 13:59:06 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 13:59:06 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 13:59:06 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 13:59:06 [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@1f37878d]] +2025-10-27 13:59:06 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 1ms +2025-10-27 13:59:06 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 13:59:06 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:59:06 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 13:59:06 [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@363e5f7e], /v3/api-docs, ko_KR] +2025-10-27 13:59:07 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 437 ms +2025-10-27 13:59:07 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 448ms +2025-10-27 13:59:16 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/minutes/1 +2025-10-27 13:59:16 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (1) +2025-10-27 13:59:16 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/minutes/1 +2025-10-27 13:59:16 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 호출 - 파라미터: [1, 1, 1] +2025-10-27 13:59:16 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 요청 - userId: 1, minutesId: 1 +2025-10-27 13:59:16 [http-nio-8082-exec-4] ERROR c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 - minutesId: 1 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) @@ -372,7 +1350,7 @@ org.springframework.data.redis.RedisSystemException: Error in execution at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) at org.springframework.data.redis.core.DefaultValueOperations.set(DefaultValueOperations.java:253) at org.springframework.data.redis.core.ValueOperations.set(ValueOperations.java:75) - at com.unicorn.hgzero.meeting.infra.cache.CacheService.cacheMeeting(CacheService.java:49) + at com.unicorn.hgzero.meeting.infra.cache.CacheService.cacheMinutesDetail(CacheService.java:253) 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) @@ -392,33 +1370,8 @@ org.springframework.data.redis.RedisSystemException: Error in execution 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.cacheMeeting() - at com.unicorn.hgzero.meeting.biz.service.MeetingService.createMeeting(MeetingService.java:109) - 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.MeetingService$$SpringCGLIB$$0.createMeeting() - at com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting(MeetingController.java:66) + at com.unicorn.hgzero.meeting.infra.cache.CacheService$$SpringCGLIB$$0.cacheMinutesDetail() + at com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail(MinutesController.java:133) 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) @@ -438,7 +1391,7 @@ org.springframework.data.redis.RedisSystemException: Error in execution 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.MeetingController$$SpringCGLIB$$0.createMeeting() + at com.unicorn.hgzero.meeting.infra.controller.MinutesController$$SpringCGLIB$$0.getMinutesDetail() 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) @@ -450,8 +1403,8 @@ org.springframework.data.redis.RedisSystemException: Error in execution 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.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) 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) @@ -596,100 +1549,285 @@ Caused by: io.lettuce.core.RedisReadOnlyException: READONLY You can't write agai 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-27 09:14:08 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cached: meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:14:08 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_c2537e_1761523655847","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671} -2025-10-27 09:14:08 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_c2537e_1761523655847"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_c2537e_1761523655847","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_c2537e_1761523655847"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_c2537e_1761523655847","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_c2537e_1761523655847","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_c2537e_1761523655847","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"daf94f96845d4a4c8f204bc24deb4033_G28"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_c2537e_1761523655847","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_c2537e_1761523655847"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_c2537e_1761523655847","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","linkName":"cbs"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","subscriberId":"un_ce0ad6_1761524048533"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_c2537e_1761523655847","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_c2537e_1761523655847","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-27 09:14:08 [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-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_c2537e_1761523655847","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"} -2025-10-27 09:14:08 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_c2537e_1761523655847","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-27 09:14:08 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=du0928 -2025-10-27 09:14:08 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=du09282 -2025-10-27 09:14:08 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 회의 생성 알림 발행 완료 - meetingId: 5f9144ed-43db-479a-99bb-17b20a71fb1e, participants count: 2 -2025-10-27 09:14:08 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Meeting invitation events published: meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e, participants=2 -2025-10-27 09:14:08 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MeetingService - Meeting created successfully: 5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:14:08 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - /* insert for - com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert - into - meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id) - values - (?, ?, ?, ?, ?, ?) -2025-10-27 09:14:08 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL - - /* insert for - com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert - into - meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id) - values - (?, ?, ?, ?, ?, ?) -2025-10-27 09:14:08 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MeetingController - 회의 예약 완료 - userId: user-005, meetingId: 5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:14:08 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 완료 - 실행시간: 2109ms -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/5f9144ed-43db-479a-99bb-17b20a71fb1e/start -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005) -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/5f9144ed-43db-479a-99bb-17b20a71fb1e/start -2025-10-27 09:17:17 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 호출 - 파라미터: [5f9144ed-43db-479a-99bb-17b20a71fb1e, user-005, dohyunjung, dohyun.jung@example.com] -2025-10-27 09:17:17 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MeetingController - 회의 시작 요청 - meetingId: 5f9144ed-43db-479a-99bb-17b20a71fb1e, userId: user-005 -2025-10-27 09:17:17 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MeetingService - Starting meeting: 5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Cache miss for meeting: 5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - select - me1_0.meeting_id, - me1_0.created_at, - me1_0.description, - me1_0.end_time, - me1_0.ended_at, - me1_0.location, - me1_0.organizer_id, - me1_0.purpose, - me1_0.scheduled_at, - me1_0.started_at, - me1_0.status, - me1_0.template_id, - me1_0.title, - me1_0.updated_at - from - meetings me1_0 - where - me1_0.meeting_id=? -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - select - p1_0.meeting_id, - p1_0.user_id, - p1_0.attended, - p1_0.created_at, - p1_0.invitation_status, - p1_0.updated_at - from - meeting_participants p1_0 - where - p1_0.meeting_id=? -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - /* */ select - mpe1_0.meeting_id, - mpe1_0.user_id, - mpe1_0.attended, - mpe1_0.created_at, - mpe1_0.invitation_status, - mpe1_0.updated_at - from - meeting_participants mpe1_0 - where - mpe1_0.meeting_id=? -2025-10-27 09:17:17 [http-nio-8082-exec-4] ERROR c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 실패 - meetingId: 5f9144ed-43db-479a-99bb-17b20a71fb1e +2025-10-27 13:59:16 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 성공 (Mock) - minutesId: 1 +2025-10-27 13:59:16 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 238ms +2025-10-27 14:00:00 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 14:00:00 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_3bbe04_1761541080277","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 14:00:00 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 14:00:00 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 14:00:00 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@62b72289] for TypeConfiguration +2025-10-27 14:00:00 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@16075e30] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@62b72289] +2025-10-27 14:00:00 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 14:00:00 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 14:10:20 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 58647 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 14:10:20 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 14:10:20 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 14:10:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 14:10:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 14:10:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 78 ms. Found 8 JPA repository interfaces. +2025-10-27 14:10:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 14:10:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 14:10:21 [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-27 14:10:21 [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-27 14:10:21 [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-27 14:10:21 [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-27 14:10:21 [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-27 14:10:21 [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-27 14:10:21 [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-27 14:10:21 [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-27 14:10:21 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 16 ms. Found 0 Redis repository interfaces. +2025-10-27 14:10:22 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 14:10:22 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 14:10:22 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 14:10:22 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 14:10:22 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1263 ms +2025-10-27 14:10:22 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 14:10:22 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 14:10:22 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@7cd25bf5 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@7cd25bf5 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@fe13916 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@25e353dc +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@234ce7ff +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@780a91d0 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@3387ab0 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@470f0637 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6b278b17 +2025-10-27 14:10:22 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 14:10:22 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 14:10:22 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@47fc9ce +2025-10-27 14:10:22 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 14:10:22 [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-27 14:10:22 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@3c5bb37d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@558575fe) +2025-10-27 14:10:22 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@25fcdcc6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@180fb796) +2025-10-27 14:10:22 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 14:10:22 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@3a012678 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3a012678 +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@7cd25bf5` +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 14:10:22 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 14:10:22 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1a22c1ba] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@4930213b] +2025-10-27 14:10:23 [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-27 14:10:23 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1a22c1ba] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@75392381] +2025-10-27 14:10:23 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 14:10:23 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 14:10:23 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 14:10:23 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 14:10:23 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 14:10:23 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 14:10:23 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@75392381] for TypeConfiguration +2025-10-27 14:10:23 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 14:10:24 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 14:10:24 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 14:10:24 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 14:10:24 [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-27 14:10:24 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 14:10:24 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 14:10:24 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 14:10:24 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 14:10:24 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_114f5d_1761541824680"} +2025-10-27 14:10:24 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 14:10:24 [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-27 14:10:24 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: af733cb2-8fe5-4db5-aa15-17e645dbec1b + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 14:10:24 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 14:10:24 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 14:10:25 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 14:10:25 [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-27 14:10:25 [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-27 14:10:25 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 14:10:25 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 5.002 seconds (process running for 5.199) +2025-10-27 14:10:32 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 14:10:32 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 14:10:32 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 5 ms +2025-10-27 14:10:32 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 14:10:32 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:32 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 14:10:32 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 14:10:32 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:32 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 14:10:32 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:32 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 14:10:32 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 14:10:32 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 14:10:32 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:32 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 14:10:32 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 14:10:32 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:32 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 14:10:32 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 14:10:32 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:32 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 14:10:33 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 14:10:33 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:33 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 14:10:33 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 14:10:33 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:33 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 14:10:33 [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@7f2aa8c6]] +2025-10-27 14:10:33 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 14:10:33 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 14:10:33 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:10:33 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 14:10:33 [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@fb50cd9], /v3/api-docs, ko_KR] +2025-10-27 14:10:33 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 458 ms +2025-10-27 14:10:33 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 470ms +2025-10-27 14:10:43 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/minutes/1 +2025-10-27 14:10:43 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (1) +2025-10-27 14:10:43 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/minutes/1 +2025-10-27 14:10:43 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 호출 - 파라미터: [1, 1, 1] +2025-10-27 14:10:43 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 요청 - userId: 1, minutesId: 1 +2025-10-27 14:10:43 [http-nio-8082-exec-5] ERROR c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 - minutesId: 1 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) @@ -710,7 +1848,7 @@ org.springframework.data.redis.RedisSystemException: Error in execution at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) at org.springframework.data.redis.core.DefaultValueOperations.set(DefaultValueOperations.java:253) at org.springframework.data.redis.core.ValueOperations.set(ValueOperations.java:75) - at com.unicorn.hgzero.meeting.infra.cache.CacheService.cacheMeeting(CacheService.java:49) + at com.unicorn.hgzero.meeting.infra.cache.CacheService.cacheMinutesDetail(CacheService.java:253) 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) @@ -730,33 +1868,8 @@ org.springframework.data.redis.RedisSystemException: Error in execution 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.cacheMeeting() - at com.unicorn.hgzero.meeting.biz.service.MeetingService.startMeeting(MeetingService.java:160) - 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.MeetingService$$SpringCGLIB$$0.startMeeting() - at com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting(MeetingController.java:152) + at com.unicorn.hgzero.meeting.infra.cache.CacheService$$SpringCGLIB$$0.cacheMinutesDetail() + at com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail(MinutesController.java:133) 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) @@ -776,7 +1889,7 @@ org.springframework.data.redis.RedisSystemException: Error in execution 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.MeetingController$$SpringCGLIB$$0.startMeeting() + at com.unicorn.hgzero.meeting.infra.controller.MinutesController$$SpringCGLIB$$0.getMinutesDetail() 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) @@ -788,8 +1901,8 @@ org.springframework.data.redis.RedisSystemException: Error in execution 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.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) 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) @@ -934,998 +2047,5 @@ Caused by: io.lettuce.core.RedisReadOnlyException: READONLY You can't write agai 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-27 09:17:17 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - select - se1_0.session_id, - se1_0.created_at, - se1_0.ended_at, - se1_0.meeting_id, - se1_0.minutes_id, - se1_0.started_at, - se1_0.started_by, - se1_0.status, - se1_0.updated_at - from - sessions se1_0 - where - se1_0.session_id=? -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Session created: sessionId=3bee2b78-9a53-4a10-b652-78bc4cafad88, meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Meeting status updated to IN_PROGRESS: 5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:17:17 [http-nio-8082-exec-4] ERROR c.u.h.m.infra.cache.CacheService - 캐시 삭제 실패 - key: meeting:5f9144ed-43db-479a-99bb-17b20a71fb1e -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.evictCache(CacheService.java:203) - 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.evictCache() - at com.unicorn.hgzero.meeting.biz.service.MeetingService.startMeeting(MeetingService.java:206) - 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.MeetingService$$SpringCGLIB$$0.startMeeting() - at com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting(MeetingController.java:152) - 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.MeetingController$$SpringCGLIB$$0.startMeeting() - 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-27 09:17:17 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cache evicted: 5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:17:17 [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-27 09:17:17 [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, - 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 me1_0 - left join - minutes_sections s1_0 - on me1_0.minutes_id=s1_0.minutes_id - where - me1_0.minutes_id=? -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Minutes draft created: minutesId=a5c8b779-e23f-499d-be5b-01274cc69d59, meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:17:17 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=meeting, type=MEETING_STARTED, partitionKey=5f9144ed-43db-479a-99bb-17b20a71fb1e -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - MeetingStarted event published: meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e, sessionId=3bee2b78-9a53-4a10-b652-78bc4cafad88 -2025-10-27 09:17:17 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MeetingService - Meeting started successfully: meetingId=5f9144ed-43db-479a-99bb-17b20a71fb1e, sessionId=3bee2b78-9a53-4a10-b652-78bc4cafad88, minutesId=a5c8b779-e23f-499d-be5b-01274cc69d59 -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - /* insert for - com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */insert - into - sessions (created_at, ended_at, meeting_id, minutes_id, started_at, started_by, status, updated_at, session_id) - values - (?, ?, ?, ?, ?, ?, ?, ?, ?) -2025-10-27 09:17:17 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - /* insert for - com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */insert - into - minutes (created_at, created_by, finalized_at, finalized_by, meeting_id, status, title, updated_at, version, minutes_id) - values - (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -2025-10-27 09:17:18 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - /* update - for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */update meetings - set - description=?, - end_time=?, - ended_at=?, - location=?, - organizer_id=?, - purpose=?, - scheduled_at=?, - started_at=?, - status=?, - template_id=?, - title=?, - updated_at=? - where - meeting_id=? -2025-10-27 09:17:18 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - /* update - for com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */update sessions - set - ended_at=?, - meeting_id=?, - minutes_id=?, - started_at=?, - started_by=?, - status=?, - updated_at=? - where - session_id=? -2025-10-27 09:17:18 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - /* delete for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */delete - from - meeting_participants - where - meeting_id=? - and user_id=? -2025-10-27 09:17:18 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - - /* delete for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */delete - from - meeting_participants - where - meeting_id=? - and user_id=? -2025-10-27 09:17:18 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MeetingController - 회의 시작 완료 - meetingId: 5f9144ed-43db-479a-99bb-17b20a71fb1e, sessionId: 3bee2b78-9a53-4a10-b652-78bc4cafad88 -2025-10-27 09:17:18 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 완료 - 실행시간: 1151ms -2025-10-27 09:21:54 [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-27 09:21:54 [lettuce-eventExecutorLoop-1-2] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379 -2025-10-27 09:21:54 [lettuce-nioEventLoop-6-2] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379 -2025-10-27 09:32:07 [parallel-2] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Refreshing token.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"} -2025-10-27 09:47:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:link:detach-forced","errorDescription":"Idle link tracker, link hgzero-eventhub-name has been idle for 1800000ms TrackingId:fb21957a-303a-488b-810b-d55917d07872_G28, SystemTracker:hgzero-eventhub-ns:EventHub:hgzero-eventhub-name, Timestamp:2025-10-27T00:47:17","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name"} -2025-10-27 09:47:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"Local link state is not closed.","connectionId":"MF_c2537e_1761523655847","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","state":"ACTIVE"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","sessionName":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose closing a local session.","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","sessionName":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped -reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_c2537e_1761523655847], entityName[hgzero-eventhub-name] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-name] -Caused by: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_c2537e_1761523655847], entityName[hgzero-eventhub-name] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-name] - at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85) - at com.azure.core.amqp.implementation.handler.SessionHandler.onSessionRemoteClose(SessionHandler.java:136) - at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:152) - at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108) - at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324) - at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291) - at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91) - at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) - at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Error occurred. Removing and disposing session","exception":"onSessionRemoteClose connectionId[MF_c2537e_1761523655847], entityName[hgzero-eventhub-name] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-name]","connectionId":"MF_c2537e_1761523655847","sessionName":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","linkName":"cbs:sender","entityPath":"$cbs"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"Local link state is not closed.","connectionId":"MF_c2537e_1761523655847","linkName":"cbs:sender","entityPath":"$cbs","state":"ACTIVE"} -2025-10-27 09:52:18 [reactor-executor-1] WARN c.a.c.a.i.RequestResponseChannel - {"az.sdk.message":"Error in SendLinkHandler. Disposing unconfirmed sends.","exception":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:sender, LINK_CREDIT: 98]","connectionId":"MF_c2537e_1761523655847","linkName":"cbs"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Transient error occurred. Retrying.","exception":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:sender, LINK_CREDIT: 98]","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","tryCount":0,"interval_ms":4511} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","linkName":"cbs:receiver","entityPath":"$cbs"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"Local link state is not closed.","connectionId":"MF_c2537e_1761523655847","linkName":"cbs:receiver","entityPath":"$cbs","state":"ACTIVE"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","sessionName":"cbs-session"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose closing a local session.","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","sessionName":"cbs-session"} -2025-10-27 09:52:18 [reactor-executor-1] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped -reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_c2537e_1761523655847], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session] -Caused by: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_c2537e_1761523655847], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session] - at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85) - at com.azure.core.amqp.implementation.handler.SessionHandler.onSessionRemoteClose(SessionHandler.java:136) - at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:152) - at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108) - at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324) - at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291) - at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91) - at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) - at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Error occurred. Removing and disposing session","exception":"onSessionRemoteClose connectionId[MF_c2537e_1761523655847], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session]","connectionId":"MF_c2537e_1761523655847","sessionName":"cbs-session"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteClose","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","hostName":"hgzero-eventhub-ns.servicebus.windows.net"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalClose","connectionId":"MF_c2537e_1761523655847","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionUnbound","connectionId":"MF_c2537e_1761523655847","hostName":"hgzero-eventhub-ns.servicebus.windows.net","state":"CLOSED","remoteState":"CLOSED"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_c2537e_1761523655847","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"Connection handler closed."} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is closed. Requesting upstream.","entityPath":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","entityPath":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_86ed40_1761526338133"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_c2537e_1761523655847","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","sessionName":"hgzero-eventhub-name"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_c2537e_1761523655847","linkName":"cbs:sender","entityPath":"$cbs"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_c2537e_1761523655847","linkName":"cbs:receiver","entityPath":"$cbs"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_c2537e_1761523655847","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'daf94f96845d4a4c8f204bc24deb4033_G28' because it did not have any active links in the past 300000 milliseconds. TrackingId:daf94f96845d4a4c8f204bc24deb4033_G28, SystemTracker:gateway5, Timestamp:2025-10-27T00:52:18","sessionName":"cbs-session"} -2025-10-27 09:52:18 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionFinal","connectionId":"MF_c2537e_1761523655847","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"} -2025-10-27 09:52:22 [parallel-7] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Requesting from upstream.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","tryCount":0} -2025-10-27 09:52:22 [parallel-7] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs"} -2025-10-27 09:52:22 [parallel-7] WARN c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Retry attempts exhausted or exception was not retriable.","exception":"Cannot invoke \"java.util.List.add(Object)\" because \"this._sessions\" is null","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","tryCount":1} -2025-10-27 09:52:22 [parallel-7] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped -reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "this._sessions" is null -Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "this._sessions" is null - at org.apache.qpid.proton.engine.impl.ConnectionImpl.session(ConnectionImpl.java:91) - at org.apache.qpid.proton.engine.impl.ConnectionImpl.session(ConnectionImpl.java:39) - at com.azure.core.amqp.implementation.ReactorConnection.lambda$createSession$13(ReactorConnection.java:282) - at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) - at com.azure.core.amqp.implementation.ReactorConnection.lambda$createSession$14(ReactorConnection.java:279) - at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113) - at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) - at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) - at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.request(MonoIgnoreThen.java:164) - at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) - at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) - at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) - at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) - at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) - at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) - at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) - at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2331) - at com.azure.core.amqp.implementation.AmqpChannelProcessor.requestUpstream(AmqpChannelProcessor.java:317) - at com.azure.core.amqp.implementation.AmqpChannelProcessor.lambda$onError$4(AmqpChannelProcessor.java:213) - at reactor.core.publisher.LambdaMonoSubscriber.onNext(LambdaMonoSubscriber.java:171) - at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) - at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) - at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) - at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -2025-10-27 09:52:22 [parallel-7] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Error in AMQP channel processor.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","subscriberId":"un_e23365_1761526338131"} -2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 47761 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) -2025-10-27 13:05:31 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 -2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" -2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 84 ms. Found 8 JPA repository interfaces. -2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -2025-10-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces. -2025-10-27 13:05:32 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) -2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] -2025-10-27 13:05:32 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-27 13:05:32 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1256 ms -2025-10-27 13:05:32 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-27 13:05:32 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final -2025-10-27 13:05:33 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@b340615 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3c6b300a -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3c6b300a -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@4247093b -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@4247093b -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@7074da1d -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@7074da1d -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@3e55eeb9 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@3e55eeb9 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@3e55eeb9 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@44a13699 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@44a13699 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@1253b822 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@127d2aee -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@127d2aee -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3cc2e3e -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@4e14d520 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@4189e668 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3a589eed -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3a589eed -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3a589eed -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@5807ea46 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@305289b3 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@3ee68377 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4037cdb0 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4037cdb0 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@27055a2a -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@27055a2a -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@33e4068 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@33e4068 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@33e4068 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@9499643 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@7a34505a -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@b787274 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@b787274 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@b787274 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4ec616d6 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@55b45ea1 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@d5a72cd -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@45f95ac0 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@45f95ac0 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@3b77940f -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@3b77940f -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@4c418496 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@12d35bc9 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@1df32c09 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@1aa31454 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@5a8656a2 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@52035328 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@5614ae05 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@5614ae05 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6bfbab1c -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@349aeec4 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@78a165db -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4eb48298 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2d3bb944 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7744195 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@77f529a6 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@77f529a6 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7d47b021 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7d47b021 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6516181f -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6516181f -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6516181f -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@40cb95c1 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@40cb95c1 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@40cb95c1 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@1ead3c67 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@5e2b512b -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@ba87c11 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@ba87c11 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@17d19538 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@17d19538 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@17d19538 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@6068cda1 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@644e6a8e -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@2ccecae2 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@2ccecae2 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@37ade216 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@37ade216 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@37ade216 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@118e2487 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@118e2487 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@6032622 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@6032622 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@5cc075da -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@5cc075da -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@64ef2719 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@64ef2719 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@7b423f90 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@24f3fb87 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@79e16dd9 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@79e16dd9 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@22ee7fdc -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@1a88d194 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@fe13916 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@5ea0a7a9 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@278c998 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@25e353dc -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@234ce7ff -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@780a91d0 -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@3cfab340 -2025-10-27 13:05:33 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer -2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... -2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@8b1bfdf -2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. -2025-10-27 13:05:33 [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-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@6d8096ee) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@35d8ba22) -2025-10-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3fc051ce) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3c5bb37d) -2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) -2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@22c4354d -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@22c4354d -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@79e16dd9` -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@430db481] -2025-10-27 13:05:33 [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-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@3d3e9163] -2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - - alter table if exists meeting_analysis - alter column agenda_analyses set data type TEXT -2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - - alter table if exists meetings - alter column description set data type TEXT -2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - - alter table if exists minutes_sections - alter column content set data type TEXT -2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - - alter table if exists templates - alter column description set data type TEXT -2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - - alter table if exists templates - alter column sections set data type TEXT -2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - - alter table if exists todos - alter column description set data type TEXT -2025-10-27 13:05:34 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration -2025-10-27 13:05:34 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-27 13:05:34 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. -2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) -2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 -2025-10-27 13:05:34 [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-27 13:05:35 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 -2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 -2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name -2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name -2025-10-27 13:05:35 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_680666_1761537935139"} -2025-10-27 13:05:35 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} -2025-10-27 13:05:35 [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-27 13:05:35 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: afdf51ca-5931-479f-826b-4f45c3af946f - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-27 13:05:35 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} -2025-10-27 13:05:35 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' -2025-10-27 13:05:35 [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-27 13:05:35 [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-27 13:05:36 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' -2025-10-27 13:05:36 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.959 seconds (process running for 5.176) -2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} -2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_680666_1761537935139","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} -2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} -2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-27 13:05:36 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration -2025-10-27 13:05:36 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@1dec0e39] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@3d3e9163] -2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... -2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. -2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 48882 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) -2025-10-27 13:10:51 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 -2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" -2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 8 JPA repository interfaces. -2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -2025-10-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [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-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 0 Redis repository interfaces. -2025-10-27 13:10:52 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) -2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] -2025-10-27 13:10:52 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-27 13:10:52 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1106 ms -2025-10-27 13:10:52 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-27 13:10:52 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final -2025-10-27 13:10:52 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@776d8097 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@7a34505a -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@7a34505a -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@b787274 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@b787274 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@4ec616d6 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@4ec616d6 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@55b45ea1 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@d5a72cd -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@d5a72cd -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@d5a72cd -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@45f95ac0 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@45f95ac0 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@3b77940f -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4c418496 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4c418496 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@12d35bc9 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@1df32c09 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@1aa31454 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@5a8656a2 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@5a8656a2 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@5a8656a2 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@52035328 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@5614ae05 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@54970127 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@3c4c7e51 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@3c4c7e51 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@749ee0e3 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@749ee0e3 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7891cf3 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7891cf3 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7891cf3 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@6bfbab1c -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@349aeec4 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@349aeec4 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@3700994c -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@78a165db -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@78a165db -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@78a165db -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4eb48298 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@2d3bb944 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@1e429f56 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@6dbeaef8 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@6dbeaef8 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@7744195 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@7744195 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@77f529a6 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@7d47b021 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@6516181f -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@40cb95c1 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@1ead3c67 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@5e2b512b -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@ba87c11 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@ba87c11 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@37ade216 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@118e2487 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@6032622 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@6032622 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@5cc075da -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4258106 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@64ef2719 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@24f3fb87 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@c7673ae -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@113c4ad6 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@113c4ad6 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7be859de -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7be859de -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@40fcaae7 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@7fa85a55 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@7fa85a55 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@7fa85a55 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@cb1c58c -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@352e4b6d -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@10a064bd -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@10a064bd -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2de7fe0e -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@2ff8d39b -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@684a802a -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@7b5c9412 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@7b5c9412 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@69d902f9 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@69d902f9 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@69d902f9 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@547052 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@547052 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@23c00420 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@23c00420 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@215a329c -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@215a329c -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@20723ee -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@21c5c68a -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@3cfab340 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3cfab340 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@1736273c -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@ba86c53 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@3df6494f -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@1b5f960a -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@53ddabc6 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@39ac8c0c -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@361f1647 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@51172948 -2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6f2a3b37 -2025-10-27 13:10:52 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer -2025-10-27 13:10:52 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... -2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2f3c7b24 -2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. -2025-10-27 13:10:53 [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-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@69926b6e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7ea8224b) -2025-10-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@5a010eec) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@623ded82) -2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) -2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@4b552b13 -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@4b552b13 -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@3cfab340` -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) -2025-10-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@c79915a] -2025-10-27 13:10:53 [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-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@259647f2] -2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - - alter table if exists meeting_analysis - alter column agenda_analyses set data type TEXT -2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - - alter table if exists meetings - alter column description set data type TEXT -2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - - alter table if exists minutes_sections - alter column content set data type TEXT -2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - - alter table if exists templates - alter column description set data type TEXT -2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - - alter table if exists templates - alter column sections set data type TEXT -2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - - alter table if exists todos - alter column description set data type TEXT -2025-10-27 13:10:54 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@259647f2] for TypeConfiguration -2025-10-27 13:10:54 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-27 13:10:54 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. -2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) -2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 -2025-10-27 13:10:54 [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-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 -2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 -2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name -2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name -2025-10-27 13:10:54 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_5ae9ef_1761538254872"} -2025-10-27 13:10:54 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} -2025-10-27 13:10:55 [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-27 13:10:55 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 1f1f726a-7d80-4480-8e52-83418bddf566 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-27 13:10:55 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2025-10-27 13:10:55 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} -2025-10-27 13:10:55 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' -2025-10-27 13:10:55 [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-27 13:10:55 [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-27 13:10:55 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' -2025-10-27 13:10:55 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.753 seconds (process running for 4.969) -2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-27 13:10:57 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms -2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html -2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html -2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css -2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css -2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js -2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js -2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css -2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css -2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js -2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js -2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js -2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js -2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png -2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config -2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png -2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config -2025-10-27 13:10:57 [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@883dec9]] -2025-10-27 13:10:57 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms -2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs -2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext -2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs -2025-10-27 13:10:57 [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@7ef4c28b], /v3/api-docs, ko_KR] -2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 409 ms -2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 420ms -2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all -2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-002) -2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all -2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [user-002, 1, 0, 10, modified, desc, all, null, null] -2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: user-002, page: 0, size: 10, status: all, participationType: null, search: null -2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: user-002, total: 7, filtered: 7, paged: 7 -2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 7ms +2025-10-27 14:10:43 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 성공 (Mock) - minutesId: 1 +2025-10-27 14:10:43 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 254ms diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java index eaac6ba..0dfd0c2 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java @@ -126,23 +126,13 @@ public class MinutesController { log.info("회의록 상세 조회 요청 - userId: {}, minutesId: {}", userId, minutesId); try { - // 캐시 확인 - MinutesDetailResponse cachedResponse = cacheService.getCachedMinutesDetail(minutesId); - if (cachedResponse != null) { - log.debug("캐시된 회의록 상세 반환 - minutesId: {}", minutesId); - return ResponseEntity.ok(ApiResponse.success(cachedResponse)); - } - - // 회의록 조회 - MinutesDTO minutesDTO = minutesService.getMinutesById(minutesId); - - // 응답 DTO 생성 - MinutesDetailResponse response = convertToMinutesDetailResponse(minutesDTO); + // Mock 데이터 생성 (프론트엔드 테스트용) + MinutesDetailResponse response = createMockMinutesDetail(minutesId, userId); // 캐시 저장 cacheService.cacheMinutesDetail(minutesId, response); - log.info("회의록 상세 조회 성공 - minutesId: {}", minutesId); + log.info("회의록 상세 조회 성공 (Mock) - minutesId: {}", minutesId); return ResponseEntity.ok(ApiResponse.success(response)); } catch (Exception e) { @@ -584,74 +574,304 @@ public class MinutesController { .build(); } - private MinutesDetailResponse convertToMinutesDetailResponse(MinutesDTO minutesDTO) { + /** + * Mock 회의록 상세 데이터 생성 (프로토타입 기반 - 대시보드/회의록 탭 구조) + */ + private MinutesDetailResponse createMockMinutesDetail(String minutesId, String userId) { return MinutesDetailResponse.builder() - .minutesId(minutesDTO.getMinutesId()) - .title(minutesDTO.getTitle()) - .memo(minutesDTO.getMemo()) - .status(minutesDTO.getStatus()) - .version(minutesDTO.getVersion()) - .createdAt(minutesDTO.getCreatedAt()) - .lastModifiedAt(minutesDTO.getLastModifiedAt()) - .createdBy(minutesDTO.getCreatedBy()) - .lastModifiedBy(minutesDTO.getLastModifiedBy()) - .meeting(convertToMeetingInfo(minutesDTO.getMeeting())) - .sections(convertToSectionInfoList(minutesDTO.getSectionsInfo())) - .todos(convertToTodoInfoList(minutesDTO.getTodos())) + .minutesId(minutesId) + .title("2025년 1분기 제품 기획 회의록") + .memo("본 회의는 AI 기반 회의록 자동화 서비스 개발을 위한 전략 회의입니다.") + .status("FINALIZED") + .version(3) + .createdAt(LocalDateTime.of(2025, 10, 25, 14, 0)) + .lastModifiedAt(LocalDateTime.of(2025, 10, 25, 17, 30)) + .createdBy("김민준") + .lastModifiedBy("김민준") + .meeting(createMockMeetingInfo()) + .dashboard(createMockDashboardInfo()) + .agendas(createMockAgendaInfo()) .build(); } - private MinutesDetailResponse.MeetingInfo convertToMeetingInfo(MinutesDTO.MeetingInfo meetingInfo) { - if (meetingInfo == null) return null; - + /** + * Mock 회의 정보 생성 (프로토타입 기반) + */ + private MinutesDetailResponse.MeetingInfo createMockMeetingInfo() { return MinutesDetailResponse.MeetingInfo.builder() - .meetingId(meetingInfo.getMeetingId()) - .title(meetingInfo.getTitle()) - .scheduledAt(meetingInfo.getScheduledAt()) - .startedAt(meetingInfo.getStartedAt()) - .endedAt(meetingInfo.getEndedAt()) - .organizerId(meetingInfo.getOrganizerId()) - .organizerName(meetingInfo.getOrganizerName()) + .meetingId("meeting-001") + .title("2025년 1분기 제품 기획 회의") + .scheduledAt(LocalDateTime.of(2025, 10, 25, 14, 0)) + .startedAt(LocalDateTime.of(2025, 10, 25, 14, 0)) + .endedAt(LocalDateTime.of(2025, 10, 25, 15, 30)) + .organizerId("김민준") + .organizerName("김민준") + .location("본사 2층 대회의실") + .durationMinutes(90) + .participants(List.of( + MinutesDetailResponse.Participant.builder() + .userId("김민준") + .name("김민준") + .role("작성자") + .avatarColor("avatar-green") + .build(), + MinutesDetailResponse.Participant.builder() + .userId("박서연") + .name("박서연") + .role("참여자") + .avatarColor("avatar-blue") + .build(), + MinutesDetailResponse.Participant.builder() + .userId("이준호") + .name("이준호") + .role("참여자") + .avatarColor("avatar-yellow") + .build(), + MinutesDetailResponse.Participant.builder() + .userId("최유진") + .name("최유진") + .role("참여자") + .avatarColor("avatar-pink") + .build() + )) .build(); } - private List convertToSectionInfoList( - List sections) { - if (sections == null) return List.of(); - - return sections.stream() - .map(section -> MinutesDetailResponse.SectionInfo.builder() - .sectionId(section.getSectionId()) - .title(section.getTitle()) - .content(section.getContent()) - .orderIndex(section.getOrderIndex()) - .isLocked(section.isLocked()) - .isVerified(section.isVerified()) - .lockedBy(section.getLockedBy()) - .lockedAt(section.getLockedAt()) - .verifiedBy(section.getVerifiedBy()) - .verifiedAt(section.getVerifiedAt()) - .build()) - .collect(Collectors.toList()); + /** + * Mock 대시보드 정보 생성 (프로토타입 기반) + */ + private MinutesDetailResponse.DashboardInfo createMockDashboardInfo() { + return MinutesDetailResponse.DashboardInfo.builder() + .keyPoints(List.of( + MinutesDetailResponse.KeyPoint.builder() + .index(1) + .content("AI 기반 회의록 자동화 서비스 출시 결정. 타겟은 중소기업 및 스타트업.") + .build(), + MinutesDetailResponse.KeyPoint.builder() + .index(2) + .content("주요 기능: 음성인식, AI 요약, Todo 자동 추출, 실시간 검증 및 협업.") + .build(), + MinutesDetailResponse.KeyPoint.builder() + .index(3) + .content("개발 기간 3개월 (Phase 1-3), 베타 출시일 2025년 12월 1일.") + .build(), + MinutesDetailResponse.KeyPoint.builder() + .index(4) + .content("프리 런칭 캠페인 11월 진행, 초기 100팀 무료 제공 후 유료 전환.") + .build() + )) + .keywords(List.of("#AI회의록", "#음성인식", "#협업도구", "#스타트업", "#베타출시")) + .stats(MinutesDetailResponse.Statistics.builder() + .participantCount(4) + .durationMinutes(90) + .agendaCount(3) + .todoCount(5) + .build()) + .decisions(List.of( + MinutesDetailResponse.Decision.builder() + .content("베타 버전 출시일: 2025년 12월 1일") + .decidedBy("김민준") + .decidedAt(LocalDateTime.of(2025, 10, 25, 15, 30)) + .background("개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.") + .build(), + MinutesDetailResponse.Decision.builder() + .content("타겟 고객: 중소기업 및 스타트업") + .decidedBy("박서연") + .decidedAt(LocalDateTime.of(2025, 10, 25, 14, 45)) + .background("사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음.") + .build() + )) + .todoProgress(createMockTodoProgress()) + .relatedMinutes(createMockRelatedMinutes()) + .build(); } - private List convertToTodoInfoList( - List todos) { - if (todos == null) return List.of(); + /** + * Mock Todo 진행상황 생성 (프로토타입 기반 - 간단한 텍스트) + */ + private MinutesDetailResponse.TodoProgress createMockTodoProgress() { + List todos = List.of( + MinutesDetailResponse.SimpleTodo.builder() + .todoId("todo-001") + .title("API 명세서 작성") + .assigneeName("이준호") + .status("IN_PROGRESS") + .priority("HIGH") + .dueDate(LocalDateTime.of(2025, 10, 23, 18, 0)) + .dueDayStatus("D-2") + .build(), + MinutesDetailResponse.SimpleTodo.builder() + .todoId("todo-002") + .title("데이터베이스 스키마 설계") + .assigneeName("이준호") + .status("OVERDUE") + .priority("HIGH") + .dueDate(LocalDateTime.of(2025, 10, 20, 18, 0)) + .dueDayStatus("D+1 (지연)") + .build(), + MinutesDetailResponse.SimpleTodo.builder() + .todoId("todo-003") + .title("UI 프로토타입 디자인") + .assigneeName("최유진") + .status("IN_PROGRESS") + .priority("MEDIUM") + .dueDate(LocalDateTime.of(2025, 10, 28, 18, 0)) + .dueDayStatus("D-7") + .build(), + MinutesDetailResponse.SimpleTodo.builder() + .todoId("todo-004") + .title("사용자 피드백 분석") + .assigneeName("김민준") + .status("COMPLETED") + .priority("MEDIUM") + .dueDate(LocalDateTime.of(2025, 10, 19, 18, 0)) + .dueDayStatus("완료") + .build(), + MinutesDetailResponse.SimpleTodo.builder() + .todoId("todo-005") + .title("예산 편성안 검토") + .assigneeName("김민준") + .status("IN_PROGRESS") + .priority("HIGH") + .dueDate(LocalDateTime.of(2025, 10, 22, 18, 0)) + .dueDayStatus("D-1") + .build() + ); + + int completedCount = (int) todos.stream().filter(t -> "COMPLETED".equals(t.getStatus())).count(); - return todos.stream() - .map(todo -> MinutesDetailResponse.TodoInfo.builder() - .todoId(todo.getTodoId()) - .title(todo.getTitle()) - .description(todo.getDescription()) - .assigneeId(todo.getAssigneeId()) - .assigneeName(todo.getAssigneeName()) - .priority(todo.getPriority()) - .status(todo.getStatus()) - .dueDate(todo.getDueDate()) - .completedAt(todo.getCompletedAt()) - .completedBy(todo.getCompletedBy()) - .build()) - .collect(Collectors.toList()); + return MinutesDetailResponse.TodoProgress.builder() + .totalCount(todos.size()) + .completedCount(completedCount) + .progressPercentage((completedCount * 100) / todos.size()) + .todos(todos) + .build(); } + + /** + * Mock 관련회의록 생성 (프로토타입 기반) + */ + private List createMockRelatedMinutes() { + return List.of( + MinutesDetailResponse.RelatedMinutes.builder() + .minutesId("minutes-related-001") + .title("AI 기능 개선 회의") + .meetingDate(LocalDateTime.of(2025, 10, 23, 15, 0)) + .author("이준호") + .relevancePercentage(92) + .relevanceLevel("HIGH") + .summary("AI 요약 정확도 개선 방안 논의. BERT 모델 도입 및 학습 데이터 확보 계획 수립.") + .build(), + MinutesDetailResponse.RelatedMinutes.builder() + .minutesId("minutes-related-002") + .title("개발 리소스 계획 회의") + .meetingDate(LocalDateTime.of(2025, 10, 22, 11, 0)) + .author("김민준") + .relevancePercentage(88) + .relevanceLevel("MEDIUM") + .summary("Q4 개발 리소스 현황 및 배분 계획. 신규 프로젝트 우선순위 협의.") + .build(), + MinutesDetailResponse.RelatedMinutes.builder() + .minutesId("minutes-related-003") + .title("경쟁사 분석 회의") + .meetingDate(LocalDateTime.of(2025, 10, 20, 10, 0)) + .author("박서연") + .relevancePercentage(78) + .relevanceLevel("MEDIUM") + .summary("경쟁사 A, B, C 분석 결과. 우리의 차별점은 실시간 협업 및 검증 기능.") + .build() + ); + } + + /** + * Mock 안건 정보 생성 (프로토타입 기반 - 회의록 탭) + */ + private List createMockAgendaInfo() { + return List.of( + MinutesDetailResponse.AgendaInfo.builder() + .agendaId("agenda-001") + .title("1. 신제품 기획 방향") + .orderIndex(1) + .isVerified(true) + .verifiedBy("박서연") + .verifiedAt(LocalDateTime.of(2025, 10, 25, 16, 30)) + .aiSummary(MinutesDetailResponse.AiSummary.builder() + .content("신제품은 AI 기반 회의록 자동화 서비스로 결정. 타겟은 중소기업 및 스타트업이며, 주요 기능은 음성인식, AI 요약, Todo 추출입니다. 경쟁사 대비 차별점은 실시간 검증 및 협업 기능입니다.") + .generatedAt(LocalDateTime.of(2025, 10, 25, 16, 30)) + .modifiedAt(LocalDateTime.of(2025, 10, 25, 17, 0)) + .build()) + .details(MinutesDetailResponse.AgendaDetails.builder() + .discussions(List.of( + "AI 기반 회의록 자동화 서비스 출시 결정", + "타겟 고객: 중소기업, 스타트업", + "주요 기능: 음성인식, AI 요약, Todo 자동 추출", + "차별화 포인트: 실시간 검증, 협업 기능" + )) + .decisions(List.of( + "베타 버전 출시일: 2025년 12월 1일", + "초기 목표 사용자: 100개 팀" + )) + .build()) + .relatedMinutes(createMockRelatedMinutes().subList(0, 3)) + .build(), + MinutesDetailResponse.AgendaInfo.builder() + .agendaId("agenda-002") + .title("2. 개발 일정 및 리소스") + .orderIndex(2) + .isVerified(true) + .verifiedBy("이준호") + .verifiedAt(LocalDateTime.of(2025, 10, 25, 16, 32)) + .aiSummary(MinutesDetailResponse.AiSummary.builder() + .content("개발 기간은 3개월로 설정. 백엔드 2명, 프론트 2명, AI 엔지니어 1명 투입. 주간 스프린트로 진행하며, 2주마다 베타 테스트 실시.") + .generatedAt(LocalDateTime.of(2025, 10, 25, 16, 32)) + .build()) + .details(MinutesDetailResponse.AgendaDetails.builder() + .discussions(List.of( + "Phase 1 (11월): 핵심 기능 개발 (음성인식, AI 요약)", + "Phase 2 (12월): 협업 기능 개발 (검증, 공유)", + "Phase 3 (1월): 베타 테스트 및 최적화" + )) + .decisions(List.of( + "백엔드 개발자 2명", + "프론트엔드 개발자 2명", + "AI 엔지니어 1명" + )) + .build()) + .relatedMinutes(createMockRelatedMinutes().subList(1, 2)) + .build(), + MinutesDetailResponse.AgendaInfo.builder() + .agendaId("agenda-003") + .title("3. 마케팅 전략") + .orderIndex(3) + .isVerified(true) + .verifiedBy("최유진") + .verifiedAt(LocalDateTime.of(2025, 10, 25, 16, 35)) + .aiSummary(MinutesDetailResponse.AiSummary.builder() + .content("베타 출시 전 프리 런칭 캠페인 진행. 주요 채널은 LinkedIn 및 스타트업 커뮤니티. 초기 100팀 무료 제공 후 유료 전환 유도.") + .generatedAt(LocalDateTime.of(2025, 10, 25, 16, 35)) + .build()) + .details(MinutesDetailResponse.AgendaDetails.builder() + .discussions(List.of( + "기간: 11월 1일 ~ 11월 30일", + "채널: LinkedIn, Product Hunt, 스타트업 커뮤니티", + "목표: 500명 사전 신청" + )) + .decisions(List.of( + "초기 100팀 무료 제공", + "피드백 수집 및 개선", + "1월부터 유료 전환" + )) + .build()) + .relatedMinutes(List.of()) + .build() + ); + } + + + + private MinutesDetailResponse convertToMinutesDetailResponse(MinutesDTO minutesDTO) { + // Mock 데이터로 대체 (프로토타입용) + return createMockMinutesDetail(minutesDTO.getMinutesId(), "user123"); + } + } \ No newline at end of file diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse.java index 85304ca..d3a15d2 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesDetailResponse.java @@ -9,7 +9,7 @@ import java.time.LocalDateTime; import java.util.List; /** - * 회의록 상세 조회 응답 DTO + * 회의록 상세 조회 응답 DTO (프로토타입 기반 - 대시보드/회의록 탭 구조) */ @Getter @Builder @@ -27,14 +27,14 @@ public class MinutesDetailResponse { private String createdBy; private String lastModifiedBy; - // 회의 정보 + // 회의 기본 정보 private MeetingInfo meeting; - // 섹션 목록 - private List sections; + // 대시보드 탭 정보 + private DashboardInfo dashboard; - // Todo 목록 - private List todos; + // 회의록 탭 정보 (안건별 상세) + private List agendas; @Getter @Builder @@ -48,39 +48,143 @@ public class MinutesDetailResponse { private LocalDateTime endedAt; private String organizerId; private String organizerName; + private String location; + private int durationMinutes; + private List participants; } @Getter @Builder @NoArgsConstructor @AllArgsConstructor - public static class SectionInfo { - private String sectionId; - private String title; + public static class Participant { + private String userId; + private String name; + private String role; // 작성자, 참여자 + private String avatarColor; // avatar-green, avatar-blue, etc. + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class DashboardInfo { + private List keyPoints; // 핵심내용 + private List keywords; // 키워드 태그 + private Statistics stats; // 통계 정보 + private List decisions; // 결정사항 + private TodoProgress todoProgress; // Todo 진행상황 + private List relatedMinutes; // 관련회의록 + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class KeyPoint { + private int index; private String content; + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class Statistics { + private int participantCount; + private int durationMinutes; + private int agendaCount; + private int todoCount; + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class Decision { + private String content; + private String decidedBy; + private LocalDateTime decidedAt; + private String background; + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class TodoProgress { + private int totalCount; + private int completedCount; + private int progressPercentage; + private List todos; // 간단한 Todo 목록 (한줄 텍스트) + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class SimpleTodo { + private String todoId; + private String title; // 간단한 한줄 텍스트 + private String assigneeName; + private String status; // IN_PROGRESS, COMPLETED, OVERDUE + private String priority; // HIGH, MEDIUM, LOW + private LocalDateTime dueDate; + private String dueDayStatus; // D-2, D+1, 완료 등 + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class RelatedMinutes { + private String minutesId; + private String title; + private LocalDateTime meetingDate; + private String author; + private int relevancePercentage; + private String relevanceLevel; // HIGH, MEDIUM, LOW + private String summary; + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class AgendaInfo { + private String agendaId; + private String title; private int orderIndex; - private boolean isLocked; private boolean isVerified; - private String lockedBy; - private LocalDateTime lockedAt; private String verifiedBy; private LocalDateTime verifiedAt; + + // AI 요약 + private AiSummary aiSummary; + + // 안건 상세 내용 + private AgendaDetails details; + + // 관련회의록 + private List relatedMinutes; } @Getter @Builder @NoArgsConstructor @AllArgsConstructor - public static class TodoInfo { - private String todoId; - private String title; - private String description; - private String assigneeId; - private String assigneeName; - private String priority; - private String status; - private LocalDateTime dueDate; - private LocalDateTime completedAt; - private String completedBy; + public static class AiSummary { + private String content; + private LocalDateTime generatedAt; + private LocalDateTime modifiedAt; + } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class AgendaDetails { + private List discussions; // 논의 사항 + private List decisions; // 결정 사항 } } \ No newline at end of file From b7f1352f86682f2e7c92d23f8a623a85632b2869 Mon Sep 17 00:00:00 2001 From: cyjadela Date: Mon, 27 Oct 2025 14:45:19 +0900 Subject: [PATCH 04/31] =?UTF-8?q?Chore:=20=EC=B0=B8=EC=84=9D=EC=9E=90=20?= =?UTF-8?q?=EC=B4=88=EB=8C=80=20API=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20?= =?UTF-8?q?=EB=B0=9C=ED=96=89=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- meeting/logs/meeting-service.log | 599 ++++++++++++++++++ .../meeting/biz/service/MeetingService.java | 32 +- 2 files changed, 625 insertions(+), 6 deletions(-) diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log index 53af59f..daa8059 100644 --- a/meeting/logs/meeting-service.log +++ b/meeting/logs/meeting-service.log @@ -2049,3 +2049,602 @@ Caused by: io.lettuce.core.RedisReadOnlyException: READONLY You can't write agai ... 1 common frames omitted 2025-10-27 14:10:43 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 성공 (Mock) - minutesId: 1 2025-10-27 14:10:43 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 254ms +2025-10-27 14:26:07 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 61997 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 14:26:07 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 14:26:07 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 14:26:08 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 14:26:08 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 14:26:08 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 87 ms. Found 8 JPA repository interfaces. +2025-10-27 14:26:08 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 14:26:08 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 14:26:08 [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-27 14:26:08 [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-27 14:26:08 [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-27 14:26:08 [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-27 14:26:08 [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-27 14:26:08 [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-27 14:26:08 [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-27 14:26:08 [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-27 14:26:08 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 15 ms. Found 0 Redis repository interfaces. +2025-10-27 14:26:08 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 14:26:08 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 14:26:08 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 14:26:08 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 14:26:08 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1477 ms +2025-10-27 14:26:09 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 14:26:09 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 14:26:09 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@771afdd5 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@771afdd5 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@771afdd5 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3abadb65 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3abadb65 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@7131d668 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@7131d668 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@46a97805 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@46a97805 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@667dd150 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@667dd150 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@667dd150 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@af04f09 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@af04f09 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@af04f09 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@758d4aa9 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@758d4aa9 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@78e97d4d +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@7096d451 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@7096d451 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@7816454d +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@67d180e4 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@54e18a46 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@54e18a46 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@54e18a46 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@1293f8d7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@1293f8d7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@1293f8d7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@58e5fbe5 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@58e5fbe5 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@58e5fbe5 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@335896bd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@335896bd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@335896bd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@6b33892a +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@6b33892a +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@6b33892a +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@666b91db +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@666b91db +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@11a67420 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@11a67420 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@663cf5d7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@663cf5d7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@663cf5d7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@11b14ae3 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@2b6ee447 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@2b6ee447 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@9cb927e +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@8585cdd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@8585cdd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@8585cdd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@1325f967 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@4f356b98 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@1ab85862 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@504c415c +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@504c415c +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@6c9e74f3 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@6c9e74f3 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@813ab53 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@5030997b +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@62c47480 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@7de2bdc7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@683ed81b +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3c116f26 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@7db06c50 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@1554eaa4 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@1554eaa4 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@637d111d +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@637d111d +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@2a21cbe7 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@3bb4c2b2 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@1acc768 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@25765a49 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@38caad07 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@15d0b458 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@72a0a60d +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@65930e02 +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@85c3522 +2025-10-27 14:26:09 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 14:26:09 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 14:26:09 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@5186b78a +2025-10-27 14:26:09 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 14:26:09 [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-27 14:26:09 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@448fa659) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@45c28c49) +2025-10-27 14:26:09 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7c6fc278) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@23ee92df) +2025-10-27 14:26:09 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 14:26:09 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@3f78a5ed +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3f78a5ed +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@637d111d` +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 14:26:09 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 14:26:09 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@49770ef9] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@15bcecf9] +2025-10-27 14:26:10 [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-27 14:26:10 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@49770ef9] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@440d45c5] +2025-10-27 14:26:10 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 14:26:10 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 14:26:10 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 14:26:10 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 14:26:10 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 14:26:10 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 14:26:10 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@440d45c5] for TypeConfiguration +2025-10-27 14:26:10 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 14:26:10 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 14:26:11 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 14:26:11 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 14:26:11 [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-27 14:26:11 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 14:26:11 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 14:26:11 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 14:26:11 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 14:26:11 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_34d98e_1761542771420"} +2025-10-27 14:26:11 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 14:26:11 [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-27 14:26:11 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 06ee4ea9-5fa3-40c3-beba-c9f756317c36 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 14:26:11 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 14:26:11 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 14:26:11 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 14:26:12 [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-27 14:26:12 [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-27 14:26:12 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 14:26:12 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 5.307 seconds (process running for 5.642) +2025-10-27 14:32:54 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 14:32:54 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 14:32:54 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 5 ms +2025-10-27 14:32:54 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 14:32:54 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 14:32:54 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 14:32:54 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 14:32:54 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 14:32:54 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 14:32:54 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 14:32:54 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 14:32:54 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 14:32:54 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 14:32:54 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 14:32:54 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 14:32:54 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 14:32:54 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 14:32:54 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 14:32:54 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 14:32:54 [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@23a3b25b]] +2025-10-27 14:32:54 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 14:32:54 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 14:32:54 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:32:54 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 14:32:54 [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@127bdf91], /v3/api-docs, ko_KR] +2025-10-27 14:32:54 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 470 ms +2025-10-27 14:32:54 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 480ms +2025-10-27 14:33:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/1/invite +2025-10-27 14:33:31 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (1) +2025-10-27 14:33:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/1/invite +2025-10-27 14:33:31 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.inviteParticipant 호출 - 파라미터: [1, 1, 1, 1, com.unicorn.hgzero.meeting.infra.dto.request.InviteParticipantRequest@4271bd62] +2025-10-27 14:33:31 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MeetingController - 참석자 초대 요청 - meetingId: 1, email: newparticipant@example.com, inviter: 1 +2025-10-27 14:33:31 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@5186b78a (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-27 14:33:31 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@577e2617 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-27 14:33:31 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@1446fe7f (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-27 14:33:31 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@47a36c38 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-27 14:33:31 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MeetingService - Inviting participant to meeting: 1, email: newparticipant@example.com +2025-10-27 14:33:31 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-27 14:33:31 [http-nio-8082-exec-4] ERROR c.u.hgzero.common.aop.LoggingAspect - [Service] com.unicorn.hgzero.meeting.biz.service.MeetingService.inviteParticipant 실패 - 실행시간: 34ms, 에러: 요청한 리소스를 찾을 수 없습니다. +2025-10-27 14:33:31 [http-nio-8082-exec-4] ERROR c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.inviteParticipant 실패 - 실행시간: 63ms, 에러: 요청한 리소스를 찾을 수 없습니다. +2025-10-27 14:33:31 [http-nio-8082-exec-4] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: com.unicorn.hgzero.common.exception.BusinessException: 요청한 리소스를 찾을 수 없습니다.] with root cause +com.unicorn.hgzero.common.exception.BusinessException: 요청한 리소스를 찾을 수 없습니다. + at com.unicorn.hgzero.meeting.biz.service.MeetingService.lambda$inviteParticipant$8(MeetingService.java:529) + at java.base/java.util.Optional.orElseThrow(Optional.java:403) + at com.unicorn.hgzero.meeting.biz.service.MeetingService.inviteParticipant(MeetingService.java:529) + 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.MeetingService$$SpringCGLIB$$0.inviteParticipant() + at com.unicorn.hgzero.meeting.infra.controller.MeetingController.inviteParticipant(MeetingController.java:380) + 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.MeetingController$$SpringCGLIB$$0.inviteParticipant() + 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-27 14:33:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /error +2025-10-27 14:33:31 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /error +2025-10-27 14:33:31 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/meeting-scheduled-2/invite +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-001) +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/meeting-scheduled-2/invite +2025-10-27 14:34:14 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.inviteParticipant 호출 - 파라미터: [meeting-scheduled-2, user-001, 1, test@naver.com, com.unicorn.hgzero.meeting.infra.dto.request.InviteParticipantRequest@50450450] +2025-10-27 14:34:14 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MeetingController - 참석자 초대 요청 - meetingId: meeting-scheduled-2, email: newparticipant@example.com, inviter: 1 +2025-10-27 14:34:14 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MeetingService - Inviting participant to meeting: meeting-scheduled-2, email: newparticipant@example.com +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.user_id, + mpe1_0.meeting_id + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? + and mpe1_0.user_id=? + fetch + first ? rows only +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.user_id, + mpe1_0.meeting_id + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? + and mpe1_0.user_id=? + fetch + first ? rows only +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + ( + mpe1_0.meeting_id, mpe1_0.user_id + ) in ((?, ?)) +2025-10-27 14:34:14 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.gateway.ParticipantGateway - Participant saved: meetingId=meeting-scheduled-2, userId=newparticipant@example.com +2025-10-27 14:34:14 [http-nio-8082-exec-6] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_34d98e_1761542771420","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671} +2025-10-27 14:34:14 [http-nio-8082-exec-6] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_34d98e_1761542771420"} +2025-10-27 14:34:14 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_34d98e_1761542771420","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"} +2025-10-27 14:34:14 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_34d98e_1761542771420"} +2025-10-27 14:34:14 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_34d98e_1761542771420","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"} +2025-10-27 14:34:14 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_34d98e_1761542771420","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_34d98e_1761542771420","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"6c4c92961f134ddb882f6c5f06d24cff_G0"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_34d98e_1761542771420","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_34d98e_1761542771420"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_34d98e_1761542771420","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_34d98e_1761542771420","entityPath":"$cbs","linkName":"cbs"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_34d98e_1761542771420","entityPath":"$cbs"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_34d98e_1761542771420","entityPath":"$cbs","subscriberId":"un_cb1075_1761543255212"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_34d98e_1761542771420","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_34d98e_1761542771420","entityPath":"$cbs"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_34d98e_1761542771420","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-27 14:34:15 [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-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_34d98e_1761542771420","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"} +2025-10-27 14:34:15 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_34d98e_1761542771420","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-27 14:34:15 [http-nio-8082-exec-6] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=newparticipant@example.com +2025-10-27 14:34:15 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MeetingService - Meeting invitation event published for email: newparticipant@example.com, meetingId: meeting-scheduled-2 +2025-10-27 14:34:15 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MeetingService - Participant invited successfully: newparticipant@example.com to meeting meeting-scheduled-2 +2025-10-27 14:34:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* insert for + com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert + into + meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id) + values + (?, ?, ?, ?, ?, ?) +2025-10-27 14:34:15 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MeetingController - 참석자 초대 완료 - meetingId: meeting-scheduled-2, email: newparticipant@example.com +2025-10-27 14:34:15 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.inviteParticipant 완료 - 실행시간: 638ms diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/MeetingService.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/MeetingService.java index 9b17301..7bca9bb 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/MeetingService.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/MeetingService.java @@ -18,6 +18,7 @@ import com.unicorn.hgzero.meeting.biz.usecase.out.SessionReader; import com.unicorn.hgzero.meeting.biz.usecase.out.SessionWriter; import com.unicorn.hgzero.meeting.infra.cache.CacheService; import com.unicorn.hgzero.meeting.infra.event.dto.MeetingStartedEvent; +import com.unicorn.hgzero.meeting.infra.event.dto.NotificationRequestEvent; import com.unicorn.hgzero.meeting.infra.event.publisher.EventPublisher; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -541,12 +542,31 @@ public class MeetingService implements // 참석자 저장 participantWriter.saveParticipant(command.meetingId(), command.email()); - // TODO: 실제 이메일 발송 구현 필요 - // 이메일 발송 서비스 호출 - // emailService.sendInvitation(command.email(), meeting, command.frontendUrl()); - // 현재는 로그만 남기고 성공으로 처리 - log.info("Invitation email would be sent to {} for meeting {} (Frontend URL: {})", - command.email(), meeting.getTitle(), command.frontendUrl()); + // 회의 초대 알림 이벤트 발행 + try { + NotificationRequestEvent event = NotificationRequestEvent.builder() + .notificationType("MEETING_INVITATION") + .recipientEmail(command.email()) + .recipientId(command.email()) + .recipientName(command.email()) + .title("회의 초대") + .message(String.format("'%s' 회의에 초대되었습니다. 일시: %s, 장소: %s, 참여 링크: %s", + meeting.getTitle(), meeting.getScheduledAt(), meeting.getLocation(), command.frontendUrl())) + .relatedEntityId(command.meetingId()) + .relatedEntityType("MEETING") + .requestedBy(meeting.getOrganizerId()) + .requestedByName(command.inviterName()) + .eventTime(LocalDateTime.now()) + .build(); + + eventPublisher.publishNotificationRequest(event); + log.info("Meeting invitation event published for email: {}, meetingId: {}", + command.email(), command.meetingId()); + } catch (Exception e) { + log.error("Failed to publish meeting invitation event: meetingId={}, email={}", + command.meetingId(), command.email(), e); + // 이벤트 발행 실패는 비즈니스 로직에 영향을 주지 않으므로 계속 진행 + } log.info("Participant invited successfully: {} to meeting {}", command.email(), command.meetingId()); } From bb91c7d127efb34c8e668a8206a02ac2eff7a518 Mon Sep 17 00:00:00 2001 From: yabo0812 Date: Mon, 27 Oct 2025 14:50:10 +0900 Subject: [PATCH 05/31] =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=86=A0=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EB=B0=8F=20UI/UX=20=EC=84=A4=EA=B3=84=EC=84=9C=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 02-대시보드: 회의 목록 표시 개선 - 05-회의진행: 실시간 협업 기능 반영 - 10-회의록상세조회: 최종 확정 후 조회 화면 업데이트 - 11-회의록수정: 안건 기반 충돌 방지 메커니즘 추가 - design/uiux/uiux.md: 유저스토리 v2.3.0 기준 UI/UX 설계서 업데이트 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- design/uiux/prototype/02-대시보드.html | 191 ++--------------- design/uiux/prototype/05-회의진행.html | 14 +- design/uiux/prototype/10-회의록상세조회.html | 213 ++++--------------- design/uiux/prototype/11-회의록수정.html | 9 + design/uiux/uiux.md | 16 +- 5 files changed, 91 insertions(+), 352 deletions(-) diff --git a/design/uiux/prototype/02-대시보드.html b/design/uiux/prototype/02-대시보드.html index 87e029b..8fe6934 100644 --- a/design/uiux/prototype/02-대시보드.html +++ b/design/uiux/prototype/02-대시보드.html @@ -238,7 +238,7 @@ /* Todo 카드 스타일은 common.css에서 공통 관리 */ - /* 통계 영역 - 정보 표시용 (클릭 불가) */ + /* 통계 영역 - 정보 표시용 (클릭 불가) - UFR-USER-020: 2개 항목 표시 */ .stats-overview { display: grid; grid-template-columns: repeat(2, 1fr); @@ -513,15 +513,12 @@
+ @@ -559,7 +556,7 @@
- +
📅
@@ -567,9 +564,9 @@
예정된 회의
-
-
0
-
나의 Todo
+
📝
+
0
+
작성중 회의록
@@ -583,16 +580,7 @@ - -
-
-

나의 Todo

- 전체 보기 → -
-
- -
-
+
@@ -607,7 +595,7 @@
- + @@ -745,104 +730,9 @@ } /** - * 내 Todo 렌더링 (09-Todo관리.html과 동일한 정렬 기준) + * MVP 스코프 축소: renderMyTodos() 함수 제거됨 + * 대시보드에서 Todo 위젯이 제거되어 더 이상 사용되지 않음 */ - function renderMyTodos() { - const container = $('#my-todos'); - - const myTodos = SAMPLE_TODOS - .filter(todo => todo.assignee.id === currentUser.id) - .sort((a, b) => { - // 09-Todo관리.html과 동일한 정렬: 완료되지 않은 것 우선, 마감일 순 - if (a.status === 'completed' && b.status !== 'completed') return 1; - if (a.status !== 'completed' && b.status === 'completed') return -1; - return new Date(a.dueDate) - new Date(b.dueDate); - }) - .slice(0, 3); // 상위 3개만 표시 - - if (myTodos.length === 0) { - container.innerHTML = '

할당된 Todo가 없습니다

'; - return; - } - - container.innerHTML = myTodos.map(todo => { - const dday = calculateDday(todo.dueDate); - const isCompleted = todo.status === 'completed'; - const isOverdue = dday < 0 && !isCompleted; - - // D-day 배지 - let ddayBadge = ''; - let ddayClass = ''; - if (isCompleted) { - ddayBadge = '완료'; - ddayClass = 'badge-complete'; - } else if (isOverdue) { - ddayBadge = `D+${Math.abs(dday)} (지연)`; - ddayClass = 'badge-overdue'; - } else if (dday === 0) { - ddayBadge = 'D-DAY'; - ddayClass = 'badge-warning'; - } else if (dday <= 3) { - ddayBadge = `D-${dday}`; - ddayClass = 'badge-warning'; - } else if (dday <= 7) { - ddayBadge = `D-${dday}`; - ddayClass = 'badge-primary'; - } else { - ddayBadge = `D-${dday}`; - ddayClass = 'badge-secondary'; - } - - // 우선순위 배지 - const priorityText = todo.priority === 'high' ? '높음' : todo.priority === 'medium' ? '보통' : '낮음'; - const priorityClass = `badge-${todo.priority}`; - - return ` -
-
-
- -
-
-
- ${ddayBadge} - ${priorityText} -
-
${todo.title}
-
- - 🔗 ${todo.meetingTitle} - - ${formatDate(todo.dueDate)} -
-
- ${!isCompleted ? ` -
- -
- ` : ''} -
-
- `; - }).join(''); - - // Todo 카드 클릭 시 해당 회의록 상세로 이동 (체크박스와 버튼 제외) - $$('.todo-card').forEach(card => { - card.addEventListener('click', (e) => { - // 체크박스나 버튼 클릭은 무시 - if (e.target.classList.contains('todo-checkbox') || - e.target.classList.contains('icon-btn') || - e.target.closest('.icon-btn')) { - return; - } - const meetingId = card.dataset.meetingId; - const todoId = card.dataset.todoId; - navigateTo(`10-회의록상세조회.html?meetingId=${meetingId}&todoId=${todoId}`); - }); - }); - } /** * 나의 회의록 렌더링 (참여자 또는 생성자로 등록된 회의록, 최신순 정렬) @@ -887,31 +777,33 @@ } /** - * 통계 업데이트 + * 통계 업데이트 (UFR-USER-020) */ function updateStats() { // 예정된 회의 개수 (예정 + 진행중) const scheduled = SAMPLE_MEETINGS.filter(m => m.status === 'scheduled' || m.status === 'ongoing').length; - // 나의 Todo 개수 (전체) - const myTodos = SAMPLE_TODOS.filter(t => t.assignee.id === currentUser.id).length; + // 작성중 회의록 개수 (내가 참석한 회의 중 '작성중' 상태) + const drafts = SAMPLE_MINUTES.filter(m => + m.status === 'draft' && + m.participants.some(p => p.id === currentUser.id) + ).length; $('#stat-scheduled').textContent = scheduled; - $('#stat-todos').textContent = myTodos; + $('#stat-drafts').textContent = drafts; } /** - * 초기화 + * 초기화 - MVP 스코프 축소: renderMyTodos() 제거 */ function init() { renderSidebarUser(); renderHeader(); updateStats(); renderRecentMeetings(); - renderMyTodos(); renderMyMinutes(); - console.log('대시보드 초기화 완료'); + console.log('대시보드 초기화 완료 (MVP 스코프 축소)'); } /** @@ -1002,48 +894,11 @@ } /** - * Todo 완료 토글 - * @param {string} todoId - Todo ID - * @param {boolean} isChecked - 체크박스 상태 + * MVP 스코프 축소: Todo 관련 함수 제거됨 + * - toggleTodoComplete() + * - editTodo() + * 대시보드에서 Todo 위젯이 제거되어 더 이상 사용되지 않음 */ - function toggleTodoComplete(todoId, isChecked) { - if (isChecked) { - // 완료 처리 - if (confirm('완료 처리하시겠습니까?')) { - const todo = SAMPLE_TODOS.find(t => t.id === todoId); - if (todo) { - todo.status = 'completed'; - showToast('Todo가 완료되었습니다', 'success'); - updateStats(); - renderMyTodos(); - } - } else { - event.target.checked = false; - } - } else { - // 미완료로 되돌리기 - if (confirm('미완료로 변경하시겠습니까?')) { - const todo = SAMPLE_TODOS.find(t => t.id === todoId); - if (todo) { - todo.status = 'incomplete'; - showToast('미완료로 변경되었습니다', 'info'); - updateStats(); - renderMyTodos(); - } - } else { - event.target.checked = true; - } - } - } - - /** - * Todo 편집 (간이 버전 - 09-Todo관리.html로 이동) - * @param {string} todoId - Todo ID - */ - function editTodo(todoId) { - // Todo 관리 화면으로 이동하여 편집 - navigateTo(`09-Todo관리.html?todoId=${todoId}`); - } init(); diff --git a/design/uiux/prototype/05-회의진행.html b/design/uiux/prototype/05-회의진행.html index 4697f5e..322e12b 100644 --- a/design/uiux/prototype/05-회의진행.html +++ b/design/uiux/prototype/05-회의진행.html @@ -351,7 +351,7 @@ white-space: nowrap; } - /* AI 제안 탭 */ + /* AI 기반 메모 탭 - MVP 스코프 축소 v1.5.1 */ .memo-input-section { background: var(--gray-50); border-radius: var(--radius-md); @@ -398,7 +398,7 @@ margin-bottom: var(--space-sm); } - /* AI 제안 카드 */ + /* AI 주요 내용 카드 */ .ai-suggestion-card { background: #FAFAFA; border: 1px dashed #D0D0D0; @@ -668,7 +668,7 @@ 참석자 - - - - - - -
-
-
- + +
+
+
+ 데이터베이스 스키마 설계
-
-
- D+1 (지연) - 높음 -
-
데이터베이스 스키마 설계
-
- 담당자: 이준호 - 2025-10-20 마감 -
-
-
- +
+ 👤 이준호 + 📅 2025-10-20
-
-
-
-
- +
+
+ API 명세서 작성
-
-
- D-2 - 높음 -
-
API 명세서 작성
-
- 담당자: 이준호 - 2025-10-23 마감 -
-
-
- +
+ 👤 이준호 + 📅 2025-10-23
-
-
-
-
- +
+
+ 예산 편성안 검토
-
-
- D-1 - 높음 -
-
예산 편성안 검토
-
- 담당자: 김민준 - 2025-10-22 마감 -
-
-
- +
+ 👤 김민준 + 📅 2025-10-22
-
-
-
-
- +
+
+ UI 프로토타입 디자인
-
-
- D-7 - 보통 -
-
UI 프로토타입 디자인
-
- 담당자: 최유진 - 2025-10-28 마감 -
-
-
- +
+ 👤 최유진 + 📅 2025-10-28
-
-
-
-
- +
+
+ 사용자 피드백 분석
-
-
- 완료 - 보통 -
-
사용자 피드백 분석
-
- 담당자: 김민준 - 2025-10-19 마감 -
+
+ 👤 김민준 + 📅 2025-10-19
@@ -1460,24 +1374,17 @@ } /** - * Todo 필터링 (09-Todo관리와 동일) + * MVP 스코프 축소 v1.5.1: Todo 필터링/편집 함수 제거됨 + * Todo는 단순 조회만 가능하므로 더 이상 사용되지 않음 */ + + /* function filterTodos(filter) { - currentFilter = filter; - - // 탭 활성화 - document.querySelectorAll('.filter-btn').forEach(btn => { - btn.classList.remove('active'); - }); - document.querySelector(`.filter-btn[data-filter="${filter}"]`).classList.add('active'); - - renderTodoList(); + // 제거됨: Todo 필터링 기능 } + */ - /** - * Todo 편집 모달 열기 - * @param {string} todoId - 편집할 Todo ID - */ + /* function editTodo(todoId) { const todo = meetingTodos.find(t => t.id === todoId); if (!todo) return; @@ -1610,39 +1517,13 @@ * @param {string} todoId - Todo ID * @param {boolean} isChecked - 체크박스 상태 */ + /* function toggleTodoComplete(todoId, isChecked) { - if (isChecked) { - // 완료 처리 - if (confirm('완료 처리하시겠습니까?')) { - const todo = meetingTodos.find(t => t.id === todoId); - if (todo) { - todo.status = 'completed'; - showToast('Todo가 완료되었습니다', 'success'); - updateTodoProgress(); - renderTodoList(); - } - } else { - event.target.checked = false; - } - } else { - // 미완료로 되돌리기 - if (confirm('미완료로 변경하시겠습니까?')) { - const todo = meetingTodos.find(t => t.id === todoId); - if (todo) { - todo.status = 'incomplete'; - showToast('미완료로 변경되었습니다', 'info'); - updateTodoProgress(); - renderTodoList(); - } - } else { - event.target.checked = true; - } - } + // 제거됨: Todo 완료 토글 기능 } + */ - /** - * Todo 진행률 업데이트 - */ + /* function updateTodoProgress() { const total = meetingTodos.length; const completed = meetingTodos.filter(t => t.status === 'completed').length; diff --git a/design/uiux/prototype/11-회의록수정.html b/design/uiux/prototype/11-회의록수정.html index 5bfca6b..6c91bd3 100644 --- a/design/uiux/prototype/11-회의록수정.html +++ b/design/uiux/prototype/11-회의록수정.html @@ -6,6 +6,15 @@ 회의록 수정 - 회의록 서비스 - - - - - - -
-
-

Todo 관리

-
- - -
- - -
-
-
-
-
김민준
-
minjun.kim@company.com
-
-
- -
-
- - -
- -
-
-
0
-
미완료
-
-
-
0
-
마감 임박
-
-
-
0
-
지연
-
-
- - -
- - - - -
- - -
-
- - - - - - - - - - - - - - From 840037a690674012c96170947f6de2e3f5e71778 Mon Sep 17 00:00:00 2001 From: yabo0812 Date: Mon, 27 Oct 2025 17:03:58 +0900 Subject: [PATCH 19/31] =?UTF-8?q?=ED=9A=8C=EC=9D=98=EB=A1=9D=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=EC=A1=B0=ED=9A=8C=20=ED=99=94=EB=A9=B4=EC=97=90?= =?UTF-8?q?=EC=84=9C=20Todo=20=EA=B4=80=EB=A6=AC=20=EB=A9=94=EB=89=B4=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MVP 스코프 축소(v1.5.2)에 따라 Todo 관리 기능 제거 - 데스크톱 사이드바에서 'Todo 관리' 메뉴 항목 삭제 - 모바일 하단 네비게이션에서 'Todo' 메뉴 항목 삭제 - 회의록 관련 기능만 유지 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- design/uiux/prototype/12-회의록목록조회.html | 7 ------- 1 file changed, 7 deletions(-) diff --git a/design/uiux/prototype/12-회의록목록조회.html b/design/uiux/prototype/12-회의록목록조회.html index f5dc312..9a6baef 100644 --- a/design/uiux/prototype/12-회의록목록조회.html +++ b/design/uiux/prototype/12-회의록목록조회.html @@ -453,10 +453,6 @@ 회의록 - - - Todo 관리 - @@ -581,9 +577,6 @@ 회의록 - - Todo - From ea6940b8a85439a6d811e63a86e48851152ace0c Mon Sep 17 00:00:00 2001 From: djeon Date: Mon, 27 Oct 2025 17:17:38 +0900 Subject: [PATCH 20/31] test --- notification-build.log | 262 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 notification-build.log diff --git a/notification-build.log b/notification-build.log new file mode 100644 index 0000000..c7b155a --- /dev/null +++ b/notification-build.log @@ -0,0 +1,262 @@ +> Task :notification:clean +> Task :common:generateEffectiveLombokConfig UP-TO-DATE +> Task :common:compileJava UP-TO-DATE +> Task :common:processResources NO-SOURCE +> Task :common:classes UP-TO-DATE +> Task :common:jar UP-TO-DATE +> Task :notification:processResources +> Task :notification:generateTestEffectiveLombokConfig +> Task :notification:processTestResources NO-SOURCE +> Task :notification:generateEffectiveLombokConfig + +> Task :notification:compileJava FAILED +/Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:109: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.EMAIL && preferences.isEmailEnabled()) { + ^ + symbol: method isEmailEnabled() + location: variable preferences of type NotificationSetting +/Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:114: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.SMS && preferences.isSmsEnabled()) { + ^ + symbol: method isSmsEnabled() + location: variable preferences of type NotificationSetting +/Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:119: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.PUSH && preferences.isPushEnabled()) { + ^ + symbol: method isPushEnabled() + location: variable preferences of type NotificationSetting +3 errors + +[Incubating] Problems report is available at: file:///Users/daewoong/home/workspace/HGZero/build/reports/problems/problems-report.html + +FAILURE: Build failed with an exception. + +* What went wrong: +Execution failed for task ':notification:compileJava'. +> Compilation failed; see the compiler output below. + /Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:109: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.EMAIL && preferences.isEmailEnabled()) { + ^ + symbol: method isEmailEnabled() + location: variable preferences of type NotificationSetting + /Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:114: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.SMS && preferences.isSmsEnabled()) { + ^ + symbol: method isSmsEnabled() + location: variable preferences of type NotificationSetting + /Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:119: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.PUSH && preferences.isPushEnabled()) { + ^ + symbol: method isPushEnabled() + location: variable preferences of type NotificationSetting + 3 errors + +* Try: +> Check your code and dependencies to fix the compilation error(s) +> Run with --scan to get full insights. + +* Exception is: +org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':notification:compileJava'. + at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130) + at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293) + at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128) + at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116) + at org.gradle.api.internal.tasks.execution.ProblemsTaskPathTrackingTaskExecuter.execute(ProblemsTaskPathTrackingTaskExecuter.java:41) + at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) + at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) + at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) + at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74) + at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) + at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) + at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) + at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459) + at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) + at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) +Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler output below. +/Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:109: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.EMAIL && preferences.isEmailEnabled()) { + ^ + symbol: method isEmailEnabled() + location: variable preferences of type NotificationSetting +/Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:114: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.SMS && preferences.isSmsEnabled()) { + ^ + symbol: method isSmsEnabled() + location: variable preferences of type NotificationSetting +/Users/daewoong/home/workspace/HGZero/notification/src/main/java/com/unicorn/hgzero/notification/service/NotificationRouter.java:119: error: cannot find symbol + if (requestedChannel == Notification.NotificationChannel.PUSH && preferences.isPushEnabled()) { + ^ + symbol: method isPushEnabled() + location: variable preferences of type NotificationSetting +3 errors + at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:89) + at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50) + at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98) + at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52) + at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38) + at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:52) + at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:38) + at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46) + at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36) + at org.gradle.jvm.toolchain.internal.DefaultToolchainJavaCompiler.execute(DefaultToolchainJavaCompiler.java:57) + at org.gradle.api.tasks.compile.JavaCompile.lambda$createToolchainCompiler$3(JavaCompile.java:206) + at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53) + at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:55) + at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:70) + at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:44) + at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:66) + at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:52) + at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$1.call(CompileJavaBuildOperationReportingCompiler.java:64) + at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$1.call(CompileJavaBuildOperationReportingCompiler.java:48) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54) + at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:48) + at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:224) + at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:165) + at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:150) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125) + at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:45) + at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) + at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.execute(IncrementalTaskAction.java:26) + at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) + at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:244) + at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30) + at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48) + at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:229) + at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:212) + at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:195) + at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:162) + at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105) + at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44) + at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59) + at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54) + at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56) + at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44) + at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:42) + at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:75) + at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55) + at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50) + at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28) + at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67) + at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37) + at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61) + at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26) + at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:69) + at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:46) + at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40) + at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29) + at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189) + at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:75) + at org.gradle.internal.Either$Right.fold(Either.java:175) + at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:62) + at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73) + at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48) + at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:46) + at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:35) + at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:75) + at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:53) + at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:53) + at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:35) + at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) + at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) + at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:49) + at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:27) + at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:71) + at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:39) + at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65) + at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36) + at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:107) + at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:56) + at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64) + at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43) + at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125) + at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:61) + at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36) + at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) + at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36) + at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23) + at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75) + at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41) + at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35) + at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289) + at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31) + at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22) + at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40) + at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23) + at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67) + at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67) + at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39) + at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46) + at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34) + at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48) + at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35) + at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:64) + at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127) + at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116) + at org.gradle.api.internal.tasks.execution.ProblemsTaskPathTrackingTaskExecuter.execute(ProblemsTaskPathTrackingTaskExecuter.java:41) + at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) + at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) + at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) + at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74) + at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54) + at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) + at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) + at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) + at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) + at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459) + at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) + at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) + + +BUILD FAILED in 2s +8 actionable tasks: 5 executed, 3 up-to-date From ccbee2a47fef8bc308e7ce992e8c8bd0705906e0 Mon Sep 17 00:00:00 2001 From: yabo0812 Date: Mon, 27 Oct 2025 17:23:06 +0900 Subject: [PATCH 21/31] =?UTF-8?q?=EB=8C=80=EC=8B=9C=EB=B3=B4=EB=93=9C=20?= =?UTF-8?q?=EC=B5=9C=EA=B7=BC=20=ED=9A=8C=EC=9D=98=20UI/UX=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 주요 변경사항: 1. 최근 회의 그리드 레이아웃 3열로 제한 (가로 폭 완전히 채우도록 개선) 2. 최근 회의에 작성중/확정완료 상태 회의 표시 추가 3. 버튼 표시 규칙 개선: - 진행중: 참여하기 버튼 - 예정: 버튼 없음 (카드 클릭으로 수정 화면 이동) - 작성중/확정완료: 버튼 없음 (카드 클릭으로 상세조회 이동) 4. 샘플 데이터에 작성중 회의 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- design/uiux/prototype/02-대시보드.html | 37 +++++++++++++------------- design/uiux/prototype/common.js | 11 ++++++-- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/design/uiux/prototype/02-대시보드.html b/design/uiux/prototype/02-대시보드.html index 8fe6934..cd00362 100644 --- a/design/uiux/prototype/02-대시보드.html +++ b/design/uiux/prototype/02-대시보드.html @@ -150,6 +150,7 @@ } /* 회의 카드 */ + /* 최근 회의는 최대 3개만 표시하므로 3열로 제한 */ .meeting-grid { display: grid; gap: var(--space-md); @@ -168,12 +169,6 @@ } } - @media (min-width: 1440px) { - .meeting-grid { - grid-template-columns: repeat(4, 1fr); - } - } - .meeting-card { background: var(--white); border-radius: var(--radius-lg); @@ -689,8 +684,17 @@ const statusInfo = getMeetingStatusInfo(meeting); const isCreator = meeting.participants.some(p => p.id === currentUser.id && p.role === 'creator'); + // 버튼 표시 규칙 + // - ongoing: 참여하기 버튼 표시 + // - scheduled: 버튼 없음 (카드 클릭으로 수정 화면 이동) + // - draft/complete: 버튼 없음 (카드 클릭으로 상세조회 이동) + let actionButton = ''; + if (meeting.status === 'ongoing') { + actionButton = ``; + } + return ` -
+
${createBadge(statusInfo.badgeText, statusInfo.badgeType)}

${meeting.title}${isCreator ? ' 👑' : ''}

@@ -699,14 +703,7 @@
📅 ${formatDate(meeting.date)} ${formatTime(meeting.time)} 👥 ${meeting.participants.length}명
📍 ${meeting.location}
-
- ${meeting.status === 'ongoing' - ? `` - : meeting.status === 'scheduled' && isCreator - ? `` - : `` - } -
+ ${actionButton ? `
${actionButton}
` : ''}
`; }).join(''); @@ -716,12 +713,14 @@ card.addEventListener('click', (e) => { if (e.target.tagName !== 'BUTTON') { const meetingId = card.dataset.id; - const meeting = SAMPLE_MEETINGS.find(m => m.id === meetingId); - if (meeting.status === 'ongoing') { + const meetingStatus = card.dataset.status; + + // 상태에 따른 이동 처리 + if (meetingStatus === 'ongoing') { navigateTo('05-회의진행.html'); - } else if (meeting.status === 'completed') { + } else if (meetingStatus === 'draft' || meetingStatus === 'complete' || meetingStatus === 'completed') { navigateTo('10-회의록상세조회.html'); - } else { + } else if (meetingStatus === 'scheduled') { navigateTo('03-회의예약.html'); } } diff --git a/design/uiux/prototype/common.js b/design/uiux/prototype/common.js index 6e57a0a..c4b9010 100644 --- a/design/uiux/prototype/common.js +++ b/design/uiux/prototype/common.js @@ -31,7 +31,7 @@ const SAMPLE_MEETINGS = [ time: '14:00', duration: 90, location: '본사 2층 대회의실', - status: 'scheduled', // ongoing, scheduled, completed + status: 'draft', // ongoing, scheduled, completed, draft(작성중), complete(확정완료) participants: [ { id: 'user-001', name: '김민준', avatar: '김', avatarColor: 'green' }, { id: 'user-002', name: '박서연', avatar: '박', avatarColor: 'blue' }, @@ -39,7 +39,8 @@ const SAMPLE_MEETINGS = [ { id: 'user-004', name: '최유진', avatar: '최', avatarColor: 'pink' } ], sections: 3, - todos: 5 + todos: 5, + minutesId: 'minutes-001' // 회의록 ID 연결 }, { id: 'meeting-002', @@ -1083,6 +1084,12 @@ function getMeetingStatusInfo(meeting) { if (meeting.status === 'ongoing') { return { badgeType: 'ongoing', badgeText: '진행중' }; } + if (meeting.status === 'draft') { + return { badgeType: 'draft', badgeText: '작성중' }; + } + if (meeting.status === 'complete') { + return { badgeType: 'complete', badgeText: '확정완료' }; + } if (meeting.status === 'completed') { return { badgeType: 'complete', badgeText: '확정완료' }; } From 9adcab2048c4416a8d1b1f0bc93c92bbc9deccc4 Mon Sep 17 00:00:00 2001 From: djeon Date: Mon, 27 Oct 2025 17:31:03 +0900 Subject: [PATCH 22/31] add ci/cd --- .github/workflows/backend-cicd_ArgoCD.yaml | 254 +++++++++++ deploy/k8s/backend/README.md | 420 +++++++++++++++++++ deploy/k8s/backend/configmap.yaml | 20 + deploy/k8s/backend/create-secrets.sh | 103 +++++ deploy/k8s/backend/deploy.sh | 133 ++++++ deploy/k8s/backend/meeting-service.yaml | 112 +++++ deploy/k8s/backend/namespace.yaml | 9 + deploy/k8s/backend/notification-service.yaml | 129 ++++++ deploy/k8s/backend/secret-template.yaml | 36 ++ deploy/k8s/backend/undeploy.sh | 89 ++++ deploy/k8s/backend/user-service.yaml | 102 +++++ 11 files changed, 1407 insertions(+) create mode 100644 .github/workflows/backend-cicd_ArgoCD.yaml create mode 100644 deploy/k8s/backend/README.md create mode 100644 deploy/k8s/backend/configmap.yaml create mode 100755 deploy/k8s/backend/create-secrets.sh create mode 100755 deploy/k8s/backend/deploy.sh create mode 100644 deploy/k8s/backend/meeting-service.yaml create mode 100644 deploy/k8s/backend/namespace.yaml create mode 100644 deploy/k8s/backend/notification-service.yaml create mode 100644 deploy/k8s/backend/secret-template.yaml create mode 100755 deploy/k8s/backend/undeploy.sh create mode 100644 deploy/k8s/backend/user-service.yaml diff --git a/.github/workflows/backend-cicd_ArgoCD.yaml b/.github/workflows/backend-cicd_ArgoCD.yaml new file mode 100644 index 0000000..5ca97ed --- /dev/null +++ b/.github/workflows/backend-cicd_ArgoCD.yaml @@ -0,0 +1,254 @@ +name: Backend Services CI/CD + +on: + push: + branches: [ main, develop ] + paths: + - 'user/**' + - 'meeting/**' + - 'stt/**' + - 'ai/**' + - 'notification/**' + - 'common/**' + - '.github/**' + pull_request: + branches: [ main ] + workflow_dispatch: + inputs: + ENVIRONMENT: + description: 'Target environment' + required: true + default: 'dev' + type: choice + options: + - dev + - staging + - prod + SKIP_SONARQUBE: + description: 'Skip SonarQube Analysis' + required: false + default: 'true' + type: choice + options: + - 'true' + - 'false' + +env: + REGISTRY: acrdigitalgarage02.azurecr.io + IMAGE_ORG: hgzero + RESOURCE_GROUP: rg-digitalgarage-02 + AKS_CLUSTER: aks-digitalgarage-02 + NAMESPACE: hgzero + +jobs: + build: + name: Build and Test + runs-on: ubuntu-latest + outputs: + image_tag: ${{ steps.set_outputs.outputs.image_tag }} + environment: ${{ steps.set_outputs.outputs.environment }} + + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Set up JDK 21 + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + cache: 'gradle' + + - name: Determine environment + id: determine_env + run: | + # Use input parameter or default to 'dev' + ENVIRONMENT="${{ github.event.inputs.ENVIRONMENT || 'dev' }}" + echo "environment=$ENVIRONMENT" >> $GITHUB_OUTPUT + + - name: Load environment variables + id: env_vars + run: | + ENV=${{ steps.determine_env.outputs.environment }} + + # Initialize variables with defaults + REGISTRY="acrdigitalgarage02.azurecr.io" + IMAGE_ORG="hgzero" + RESOURCE_GROUP="rg-digitalgarage-02" + AKS_CLUSTER="aks-digitalgarage-02" + NAMESPACE="hgzero" + + # Read environment variables from .github/config file + if [[ -f ".github/config/deploy_env_vars_${ENV}" ]]; then + while IFS= read -r line || [[ -n "$line" ]]; do + # Skip comments and empty lines + [[ "$line" =~ ^#.*$ ]] && continue + [[ -z "$line" ]] && continue + + # Extract key-value pairs + key=$(echo "$line" | cut -d '=' -f1) + value=$(echo "$line" | cut -d '=' -f2-) + + # Override defaults if found in config + case "$key" in + "resource_group") RESOURCE_GROUP="$value" ;; + "cluster_name") AKS_CLUSTER="$value" ;; + esac + done < ".github/config/deploy_env_vars_${ENV}" + fi + + # Export for other jobs + echo "REGISTRY=$REGISTRY" >> $GITHUB_ENV + echo "IMAGE_ORG=$IMAGE_ORG" >> $GITHUB_ENV + echo "RESOURCE_GROUP=$RESOURCE_GROUP" >> $GITHUB_ENV + echo "AKS_CLUSTER=$AKS_CLUSTER" >> $GITHUB_ENV + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Build with Gradle + run: | + ./gradlew build -x test + + - name: SonarQube Analysis & Quality Gate + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} + run: | + # Check if SonarQube should be skipped + SKIP_SONARQUBE="${{ github.event.inputs.SKIP_SONARQUBE || 'true' }}" + + if [[ "$SKIP_SONARQUBE" == "true" ]]; then + echo "⏭️ Skipping SonarQube Analysis (SKIP_SONARQUBE=$SKIP_SONARQUBE)" + exit 0 + fi + + # Define services array + services=(user meeting stt ai notification) + + # Run tests, coverage reports, and SonarQube analysis for each service + for service in "${services[@]}"; do + ./gradlew :$service:test :$service:jacocoTestReport :$service:sonar \ + -Dsonar.projectKey=hgzero-$service-${{ steps.determine_env.outputs.environment }} \ + -Dsonar.projectName=hgzero-$service-${{ steps.determine_env.outputs.environment }} \ + -Dsonar.host.url=$SONAR_HOST_URL \ + -Dsonar.token=$SONAR_TOKEN \ + -Dsonar.java.binaries=build/classes/java/main \ + -Dsonar.coverage.jacoco.xmlReportPaths=build/reports/jacoco/test/jacocoTestReport.xml \ + -Dsonar.exclusions=**/config/**,**/entity/**,**/dto/**,**/*Application.class,**/exception/** + done + + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: app-builds + path: | + user/build/libs/*.jar + meeting/build/libs/*.jar + stt/build/libs/*.jar + ai/build/libs/*.jar + notification/build/libs/*.jar + + - name: Set outputs + id: set_outputs + run: | + # Generate timestamp for image tag + IMAGE_TAG=$(date +%Y%m%d%H%M%S) + echo "image_tag=$IMAGE_TAG" >> $GITHUB_OUTPUT + echo "environment=${{ steps.determine_env.outputs.environment }}" >> $GITHUB_OUTPUT + + release: + name: Build and Push Docker Images + needs: build + runs-on: ubuntu-latest + + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: app-builds + + - name: Set environment variables from build job + run: | + echo "REGISTRY=${{ env.REGISTRY }}" >> $GITHUB_ENV + echo "IMAGE_ORG=${{ env.IMAGE_ORG }}" >> $GITHUB_ENV + echo "ENVIRONMENT=${{ needs.build.outputs.environment }}" >> $GITHUB_ENV + echo "IMAGE_TAG=${{ needs.build.outputs.image_tag }}" >> $GITHUB_ENV + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub (prevent rate limit) + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to Azure Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ secrets.ACR_USERNAME }} + password: ${{ secrets.ACR_PASSWORD }} + + - name: Build and push Docker images for all services + run: | + # Define services array + services=(user meeting stt ai notification) + + # Build and push each service image + for service in "${services[@]}"; do + echo "Building and pushing $service..." + docker build \ + --build-arg BUILD_LIB_DIR="$service/build/libs" \ + --build-arg ARTIFACTORY_FILE="$service.jar" \ + -f deployment/container/Dockerfile-backend \ + -t ${{ env.REGISTRY }}/${{ env.IMAGE_ORG }}/$service:${{ needs.build.outputs.environment }}-${{ needs.build.outputs.image_tag }} . + + docker push ${{ env.REGISTRY }}/${{ env.IMAGE_ORG }}/$service:${{ needs.build.outputs.environment }}-${{ needs.build.outputs.image_tag }} + done + + update-manifest: + name: Update Manifest Repository + needs: [build, release] + runs-on: ubuntu-latest + + steps: + - name: Set image tag environment variable + run: | + echo "IMAGE_TAG=${{ needs.build.outputs.image_tag }}" >> $GITHUB_ENV + echo "ENVIRONMENT=${{ needs.build.outputs.environment }}" >> $GITHUB_ENV + + - name: Update Manifest Repository + run: | + # 매니페스트 레포지토리 클론 + REPO_URL=$(echo "https://github.com/hjmoons/hgzero-manifest.git" | sed 's|https://||') + git clone https://${{ secrets.GIT_USERNAME }}:${{ secrets.GIT_PASSWORD }}@${REPO_URL} manifest-repo + cd manifest-repo + + # Kustomize 설치 + curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash + sudo mv kustomize /usr/local/bin/ + + # 매니페스트 업데이트 + cd hgzero/kustomize/overlays/${{ env.ENVIRONMENT }} + + # 각 서비스별 이미지 태그 업데이트 + services="user meeting stt ai notification" + for service in $services; do + kustomize edit set image acrdigitalgarage02.azurecr.io/hgzero/$service:${{ env.ENVIRONMENT }}-${{ env.IMAGE_TAG }} + done + + # Git 설정 및 푸시 + cd ../../../.. + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + git add . + git commit -m "🚀 Update hgzero ${{ env.ENVIRONMENT }} images to ${{ env.ENVIRONMENT }}-${{ env.IMAGE_TAG }}" + git push origin main + + echo "✅ 매니페스트 업데이트 완료. ArgoCD가 자동으로 배포합니다." diff --git a/deploy/k8s/backend/README.md b/deploy/k8s/backend/README.md new file mode 100644 index 0000000..b835e5d --- /dev/null +++ b/deploy/k8s/backend/README.md @@ -0,0 +1,420 @@ +# HGZero 백엔드 서비스 Kubernetes 배포 가이드 + +## 개요 + +이 가이드는 HGZero 백엔드 서비스(User, Meeting, Notification)를 Azure Kubernetes Service(AKS)에 배포하는 방법을 설명합니다. + +## 배포 환경 + +- **ACR(Azure Container Registry)**: acrdigitalgarage02 +- **AKS(Azure Kubernetes Service)**: aks-digitalgarage-02 +- **네임스페이스**: hgzero +- **리소스 그룹**: rg-digitalgarage-02 + +## 서비스 구성 + +### 1. User Service +- **포트**: 8080 +- **이미지**: acrdigitalgarage02.azurecr.io/hgzero/user-service:latest +- **기능**: 사용자 인증 및 관리, LDAP 연동 + +### 2. Meeting Service +- **포트**: 8081 (HTTP), 8082 (WebSocket) +- **이미지**: acrdigitalgarage02.azurecr.io/hgzero/meeting-service:latest +- **기능**: 회의 관리, WebSocket 통신 + +### 3. Notification Service +- **포트**: 8082 +- **이미지**: acrdigitalgarage02.azurecr.io/hgzero/notification-service:latest +- **기능**: 알림 전송, 이메일 발송 + +## 리소스 할당 + +각 서비스는 다음과 같은 리소스를 사용합니다: + +- **Requests**: + - CPU: 256m + - Memory: 256Mi +- **Limits**: + - CPU: 1024m + - Memory: 1024Mi +- **Replicas**: 1 (각 서비스) + +## 사전 요구사항 + +1. **Azure CLI 설치** + ```bash + # macOS + brew install azure-cli + + # Windows + # Download from https://aka.ms/installazurecliwindows + + # Linux + curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash + ``` + +2. **kubectl 설치** + ```bash + # macOS + brew install kubectl + + # Windows + # Download from https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/ + + # Linux + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" + sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl + ``` + +3. **Azure 로그인** + ```bash + az login + ``` + +4. **ACR 로그인** + ```bash + az acr login --name acrdigitalgarage02 + ``` + +## 배포 파일 구조 + +``` +deploy/k8s/backend/ +├── namespace.yaml # 네임스페이스 정의 +├── configmap.yaml # ConfigMap (Redis, Mail 설정) +├── secret-template.yaml # Secret 템플릿 (민감 정보) +├── user-service.yaml # User Service 배포 매니페스트 +├── meeting-service.yaml # Meeting Service 배포 매니페스트 +├── notification-service.yaml # Notification Service 배포 매니페스트 +├── deploy.sh # 배포 스크립트 +├── undeploy.sh # 배포 해제 스크립트 +├── create-secrets.sh # Secret 생성 스크립트 +└── README.md # 이 문서 +``` + +## 배포 절차 + +### 1단계: AKS 클러스터 접근 설정 + +```bash +# AKS credentials 가져오기 +az aks get-credentials \ + --resource-group rg-digitalgarage-02 \ + --name aks-digitalgarage-02 \ + --overwrite-existing + +# 클러스터 연결 확인 +kubectl cluster-info +``` + +### 2단계: 네임스페이스 생성 + +```bash +kubectl apply -f namespace.yaml +``` + +### 3단계: ConfigMap 생성 + +```bash +kubectl apply -f configmap.yaml +``` + +### 4단계: Secret 생성 + +옵션 A: 대화형 스크립트 사용 (권장) +```bash +./create-secrets.sh +``` + +옵션 B: 직접 생성 +```bash +# Database Secret +kubectl create secret generic db-secret \ + --from-literal=host= \ + --from-literal=username= \ + --from-literal=password= \ + --namespace=hgzero + +# Azure Secret +kubectl create secret generic azure-secret \ + --from-literal=eventhub-connection-string= \ + --from-literal=blob-connection-string= \ + --namespace=hgzero + +# Mail Secret +kubectl create secret generic mail-secret \ + --from-literal=username= \ + --from-literal=password= \ + --namespace=hgzero +``` + +### 5단계: 서비스 배포 + +옵션 A: 자동 배포 스크립트 사용 (권장) +```bash +./deploy.sh +``` + +옵션 B: 수동 배포 +```bash +# ACR 연동 설정 +az aks update \ + -n aks-digitalgarage-02 \ + -g rg-digitalgarage-02 \ + --attach-acr acrdigitalgarage02 + +# 서비스 배포 +kubectl apply -f user-service.yaml +kubectl apply -f notification-service.yaml +kubectl apply -f meeting-service.yaml +``` + +### 6단계: 배포 상태 확인 + +```bash +# Deployment 상태 확인 +kubectl get deployments -n hgzero + +# Pod 상태 확인 +kubectl get pods -n hgzero + +# Service 확인 +kubectl get services -n hgzero + +# 상세 정보 확인 +kubectl describe deployment user-service -n hgzero +``` + +## 배포 확인 및 테스트 + +### Pod 로그 확인 + +```bash +# User Service 로그 +kubectl logs -f deployment/user-service -n hgzero + +# Meeting Service 로그 +kubectl logs -f deployment/meeting-service -n hgzero + +# Notification Service 로그 +kubectl logs -f deployment/notification-service -n hgzero +``` + +### Health Check + +```bash +# User Service health check +kubectl port-forward svc/user-service 8080:8080 -n hgzero +curl http://localhost:8080/actuator/health + +# Meeting Service health check +kubectl port-forward svc/meeting-service 8081:8081 -n hgzero +curl http://localhost:8081/actuator/health + +# Notification Service health check +kubectl port-forward svc/notification-service 8082:8082 -n hgzero +curl http://localhost:8082/actuator/health +``` + +### Pod 내부 접속 + +```bash +# Pod 내부로 접속하여 디버깅 +kubectl exec -it deployment/user-service -n hgzero -- /bin/sh +``` + +## 배포 해제 + +### 전체 서비스 삭제 + +```bash +./undeploy.sh +``` + +### 개별 서비스 삭제 + +```bash +kubectl delete -f user-service.yaml +kubectl delete -f meeting-service.yaml +kubectl delete -f notification-service.yaml +``` + +### Secret 및 ConfigMap 삭제 + +```bash +kubectl delete configmap redis-config mail-config -n hgzero +kubectl delete secret db-secret azure-secret mail-secret -n hgzero +``` + +### 네임스페이스 삭제 + +```bash +kubectl delete namespace hgzero +``` + +## 트러블슈팅 + +### Pod가 시작되지 않는 경우 + +```bash +# Pod 상태 확인 +kubectl get pods -n hgzero + +# Pod 상세 정보 확인 +kubectl describe pod -n hgzero + +# Pod 로그 확인 +kubectl logs -n hgzero + +# 이전 컨테이너 로그 확인 (재시작된 경우) +kubectl logs -n hgzero --previous +``` + +### 이미지 Pull 오류 + +```bash +# ACR 연동 상태 확인 +az aks show -n aks-digitalgarage-02 -g rg-digitalgarage-02 --query "servicePrincipalProfile" + +# ACR 재연동 +az aks update -n aks-digitalgarage-02 -g rg-digitalgarage-02 --attach-acr acrdigitalgarage02 + +# ImagePullSecret 확인 +kubectl get serviceaccount default -n hgzero -o yaml +``` + +### Secret 관련 오류 + +```bash +# Secret 존재 확인 +kubectl get secrets -n hgzero + +# Secret 내용 확인 +kubectl get secret db-secret -n hgzero -o yaml + +# Secret 재생성 +kubectl delete secret db-secret -n hgzero +./create-secrets.sh +``` + +### 네트워크 연결 문제 + +```bash +# Service Endpoint 확인 +kubectl get endpoints -n hgzero + +# DNS 확인 +kubectl run -it --rm debug --image=busybox --restart=Never -- nslookup user-service.hgzero.svc.cluster.local + +# 네트워크 정책 확인 +kubectl get networkpolicies -n hgzero +``` + +### 리소스 부족 문제 + +```bash +# 노드 리소스 사용량 확인 +kubectl top nodes + +# Pod 리소스 사용량 확인 +kubectl top pods -n hgzero + +# 리소스 제한 조정 (필요 시) +kubectl edit deployment user-service -n hgzero +``` + +## 업데이트 및 롤링 배포 + +### 이미지 업데이트 + +```bash +# 새 이미지 태그로 업데이트 +kubectl set image deployment/user-service \ + user-service=acrdigitalgarage02.azurecr.io/hgzero/user-service:v2.0.0 \ + -n hgzero + +# 롤아웃 상태 확인 +kubectl rollout status deployment/user-service -n hgzero + +# 롤아웃 히스토리 확인 +kubectl rollout history deployment/user-service -n hgzero +``` + +### 롤백 + +```bash +# 이전 버전으로 롤백 +kubectl rollout undo deployment/user-service -n hgzero + +# 특정 revision으로 롤백 +kubectl rollout undo deployment/user-service --to-revision=2 -n hgzero +``` + +## 모니터링 + +### Kubernetes Dashboard + +```bash +# Dashboard 접근 +az aks browse -n aks-digitalgarage-02 -g rg-digitalgarage-02 +``` + +### 리소스 모니터링 + +```bash +# 실시간 리소스 사용량 모니터링 +watch kubectl top pods -n hgzero + +# 이벤트 모니터링 +kubectl get events -n hgzero --sort-by='.lastTimestamp' +``` + +## 보안 권장사항 + +1. **Secret 관리** + - Secret은 절대 Git에 커밋하지 마세요 + - Azure Key Vault 통합을 고려하세요 + - Secret rotation 정책을 수립하세요 + +2. **네트워크 보안** + - Network Policy를 활용하여 Pod 간 통신을 제한하세요 + - Service Mesh 도입을 고려하세요 + +3. **이미지 보안** + - 정기적으로 이미지 스캔을 수행하세요 + - 최소 권한 원칙을 적용하세요 + +## 성능 최적화 + +1. **Auto Scaling 설정** + ```bash + kubectl autoscale deployment user-service \ + --cpu-percent=70 \ + --min=1 \ + --max=5 \ + -n hgzero + ``` + +2. **리소스 조정** + - 실제 사용량에 따라 requests/limits를 조정하세요 + - HPA(Horizontal Pod Autoscaler) 설정을 고려하세요 + +## 참고 자료 + +- [Azure Kubernetes Service 문서](https://docs.microsoft.com/azure/aks/) +- [Kubernetes 공식 문서](https://kubernetes.io/docs/) +- [kubectl 치트시트](https://kubernetes.io/docs/reference/kubectl/cheatsheet/) + +## 지원 및 문의 + +문제 발생 시 다음 정보를 수집하여 보고해주세요: + +```bash +# 진단 정보 수집 +kubectl get all -n hgzero > hgzero-resources.txt +kubectl describe pods -n hgzero > hgzero-pods-detail.txt +kubectl logs deployment/user-service -n hgzero > user-service.log +kubectl logs deployment/meeting-service -n hgzero > meeting-service.log +kubectl logs deployment/notification-service -n hgzero > notification-service.log +``` diff --git a/deploy/k8s/backend/configmap.yaml b/deploy/k8s/backend/configmap.yaml new file mode 100644 index 0000000..10e0500 --- /dev/null +++ b/deploy/k8s/backend/configmap.yaml @@ -0,0 +1,20 @@ +--- +# Redis Configuration +apiVersion: v1 +kind: ConfigMap +metadata: + name: redis-config + namespace: hgzero +data: + host: "redis-service.hgzero.svc.cluster.local" + port: "6379" +--- +# Mail Configuration +apiVersion: v1 +kind: ConfigMap +metadata: + name: mail-config + namespace: hgzero +data: + host: "smtp.gmail.com" + port: "587" diff --git a/deploy/k8s/backend/create-secrets.sh b/deploy/k8s/backend/create-secrets.sh new file mode 100755 index 0000000..8123127 --- /dev/null +++ b/deploy/k8s/backend/create-secrets.sh @@ -0,0 +1,103 @@ +#!/bin/bash + +# HGZero Backend Services Secrets Creation Script +# This script helps create Kubernetes secrets for the backend services + +set -e + +# Color codes for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Configuration +NAMESPACE="hgzero" + +echo -e "${GREEN}======================================${NC}" +echo -e "${GREEN}HGZero Secrets Creation${NC}" +echo -e "${GREEN}======================================${NC}" + +# Check if kubectl is installed +if ! command -v kubectl &> /dev/null; then + echo -e "${RED}Error: kubectl is not installed${NC}" + exit 1 +fi + +# Verify connection to cluster +echo -e "${YELLOW}Verifying connection to Kubernetes cluster...${NC}" +if ! kubectl cluster-info &> /dev/null; then + echo -e "${RED}Error: Cannot connect to Kubernetes cluster${NC}" + exit 1 +fi + +# Check if namespace exists +if ! kubectl get namespace ${NAMESPACE} &> /dev/null; then + echo -e "${RED}Error: Namespace '${NAMESPACE}' does not exist${NC}" + echo -e "${YELLOW}Please run deploy.sh first to create the namespace${NC}" + exit 1 +fi + +# Function to prompt for secret value +prompt_secret() { + local prompt_text=$1 + local secret_value + echo -n -e "${YELLOW}${prompt_text}: ${NC}" + read -s secret_value + echo "" + echo -n "$secret_value" +} + +# Create Database Secret +echo -e "${GREEN}Creating Database Secret...${NC}" +DB_HOST=$(prompt_secret "Enter Database Host") +DB_USERNAME=$(prompt_secret "Enter Database Username") +DB_PASSWORD=$(prompt_secret "Enter Database Password") + +kubectl create secret generic db-secret \ + --from-literal=host="${DB_HOST}" \ + --from-literal=username="${DB_USERNAME}" \ + --from-literal=password="${DB_PASSWORD}" \ + --namespace=${NAMESPACE} \ + --dry-run=client -o yaml | kubectl apply -f - + +echo -e "${GREEN}✓ Database secret created${NC}" +echo "" + +# Create Azure Secret +echo -e "${GREEN}Creating Azure Secret...${NC}" +EVENTHUB_CONN=$(prompt_secret "Enter EventHub Connection String") +BLOB_CONN=$(prompt_secret "Enter Blob Storage Connection String") + +kubectl create secret generic azure-secret \ + --from-literal=eventhub-connection-string="${EVENTHUB_CONN}" \ + --from-literal=blob-connection-string="${BLOB_CONN}" \ + --namespace=${NAMESPACE} \ + --dry-run=client -o yaml | kubectl apply -f - + +echo -e "${GREEN}✓ Azure secret created${NC}" +echo "" + +# Create Mail Secret +echo -e "${GREEN}Creating Mail Secret...${NC}" +MAIL_USERNAME=$(prompt_secret "Enter Mail Username") +MAIL_PASSWORD=$(prompt_secret "Enter Mail Password") + +kubectl create secret generic mail-secret \ + --from-literal=username="${MAIL_USERNAME}" \ + --from-literal=password="${MAIL_PASSWORD}" \ + --namespace=${NAMESPACE} \ + --dry-run=client -o yaml | kubectl apply -f - + +echo -e "${GREEN}✓ Mail secret created${NC}" +echo "" + +# Verify secrets +echo -e "${GREEN}======================================${NC}" +echo -e "${GREEN}Secrets Created Successfully${NC}" +echo -e "${GREEN}======================================${NC}" +kubectl get secrets -n ${NAMESPACE} + +echo "" +echo -e "${YELLOW}Note: Secrets are stored in Kubernetes and can be viewed with:${NC}" +echo -e " kubectl get secret -n ${NAMESPACE} -o yaml" diff --git a/deploy/k8s/backend/deploy.sh b/deploy/k8s/backend/deploy.sh new file mode 100755 index 0000000..50a579a --- /dev/null +++ b/deploy/k8s/backend/deploy.sh @@ -0,0 +1,133 @@ +#!/bin/bash + +# HGZero Backend Services Kubernetes Deployment Script +# Azure Container Registry: acrdigitalgarage02 +# Azure Kubernetes Service: aks-digitalgarage-02 +# Namespace: hgzero + +set -e + +# Color codes for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Configuration +ACR_NAME="acrdigitalgarage02" +AKS_NAME="aks-digitalgarage-02" +RESOURCE_GROUP="rg-digitalgarage-02" +NAMESPACE="hgzero" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +echo -e "${GREEN}======================================${NC}" +echo -e "${GREEN}HGZero Backend Services Deployment${NC}" +echo -e "${GREEN}======================================${NC}" + +# Check if kubectl is installed +if ! command -v kubectl &> /dev/null; then + echo -e "${RED}Error: kubectl is not installed${NC}" + exit 1 +fi + +# Check if Azure CLI is installed +if ! command -v az &> /dev/null; then + echo -e "${RED}Error: Azure CLI is not installed${NC}" + exit 1 +fi + +# Login to Azure (if not already logged in) +echo -e "${YELLOW}Checking Azure login status...${NC}" +if ! az account show &> /dev/null; then + echo -e "${YELLOW}Please login to Azure...${NC}" + az login +fi + +# Get AKS credentials +echo -e "${YELLOW}Getting AKS credentials...${NC}" +az aks get-credentials --resource-group ${RESOURCE_GROUP} --name ${AKS_NAME} --overwrite-existing + +# Verify connection to cluster +echo -e "${YELLOW}Verifying connection to Kubernetes cluster...${NC}" +if ! kubectl cluster-info &> /dev/null; then + echo -e "${RED}Error: Cannot connect to Kubernetes cluster${NC}" + exit 1 +fi +echo -e "${GREEN}✓ Successfully connected to ${AKS_NAME}${NC}" + +# Create namespace if it doesn't exist +echo -e "${YELLOW}Creating namespace '${NAMESPACE}'...${NC}" +kubectl apply -f ${SCRIPT_DIR}/namespace.yaml +echo -e "${GREEN}✓ Namespace created/verified${NC}" + +# Apply ConfigMaps +echo -e "${YELLOW}Applying ConfigMaps...${NC}" +kubectl apply -f ${SCRIPT_DIR}/configmap.yaml +echo -e "${GREEN}✓ ConfigMaps applied${NC}" + +# Check if secrets exist +echo -e "${YELLOW}Checking for secrets...${NC}" +if ! kubectl get secret db-secret -n ${NAMESPACE} &> /dev/null || \ + ! kubectl get secret azure-secret -n ${NAMESPACE} &> /dev/null || \ + ! kubectl get secret mail-secret -n ${NAMESPACE} &> /dev/null; then + echo -e "${RED}Warning: One or more secrets are missing!${NC}" + echo -e "${YELLOW}Please create secrets using secret-template.yaml as reference${NC}" + echo -e "${YELLOW}Example:${NC}" + echo -e " kubectl create secret generic db-secret -n ${NAMESPACE} \\" + echo -e " --from-literal=host= \\" + echo -e " --from-literal=username= \\" + echo -e " --from-literal=password=" + echo "" + read -p "Do you want to continue without secrets? (y/N): " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo -e "${RED}Deployment cancelled${NC}" + exit 1 + fi +fi + +# Configure ACR integration +echo -e "${YELLOW}Configuring ACR integration...${NC}" +az aks update -n ${AKS_NAME} -g ${RESOURCE_GROUP} --attach-acr ${ACR_NAME} +echo -e "${GREEN}✓ ACR integration configured${NC}" + +# Deploy services +echo -e "${YELLOW}Deploying User Service...${NC}" +kubectl apply -f ${SCRIPT_DIR}/user-service.yaml +echo -e "${GREEN}✓ User Service deployed${NC}" + +echo -e "${YELLOW}Deploying Notification Service...${NC}" +kubectl apply -f ${SCRIPT_DIR}/notification-service.yaml +echo -e "${GREEN}✓ Notification Service deployed${NC}" + +echo -e "${YELLOW}Deploying Meeting Service...${NC}" +kubectl apply -f ${SCRIPT_DIR}/meeting-service.yaml +echo -e "${GREEN}✓ Meeting Service deployed${NC}" + +# Wait for deployments to be ready +echo -e "${YELLOW}Waiting for deployments to be ready...${NC}" +kubectl wait --for=condition=available --timeout=300s \ + deployment/user-service \ + deployment/notification-service \ + deployment/meeting-service \ + -n ${NAMESPACE} + +# Show deployment status +echo -e "${GREEN}======================================${NC}" +echo -e "${GREEN}Deployment Status${NC}" +echo -e "${GREEN}======================================${NC}" +kubectl get deployments -n ${NAMESPACE} +echo "" +kubectl get pods -n ${NAMESPACE} +echo "" +kubectl get services -n ${NAMESPACE} + +echo -e "${GREEN}======================================${NC}" +echo -e "${GREEN}Deployment Completed Successfully!${NC}" +echo -e "${GREEN}======================================${NC}" +echo "" +echo -e "${YELLOW}Useful commands:${NC}" +echo -e " View logs: kubectl logs -f deployment/ -n ${NAMESPACE}" +echo -e " View pods: kubectl get pods -n ${NAMESPACE}" +echo -e " Describe pod: kubectl describe pod -n ${NAMESPACE}" +echo -e " Port forward: kubectl port-forward svc/ : -n ${NAMESPACE}" diff --git a/deploy/k8s/backend/meeting-service.yaml b/deploy/k8s/backend/meeting-service.yaml new file mode 100644 index 0000000..2ad0472 --- /dev/null +++ b/deploy/k8s/backend/meeting-service.yaml @@ -0,0 +1,112 @@ +--- +# Meeting Service Deployment +apiVersion: apps/v1 +kind: Deployment +metadata: + name: meeting-service + namespace: hgzero + labels: + app: meeting-service + tier: backend +spec: + replicas: 1 + selector: + matchLabels: + app: meeting-service + template: + metadata: + labels: + app: meeting-service + tier: backend + spec: + containers: + - name: meeting-service + image: acrdigitalgarage02.azurecr.io/hgzero/meeting-service:latest + imagePullPolicy: Always + ports: + - containerPort: 8081 + name: http + - containerPort: 8082 + name: websocket + env: + - name: SPRING_PROFILES_ACTIVE + value: "prod" + - name: SERVER_PORT + value: "8081" + - name: DB_HOST + valueFrom: + secretKeyRef: + name: db-secret + key: host + - name: DB_USERNAME + valueFrom: + secretKeyRef: + name: db-secret + key: username + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: db-secret + key: password + - name: REDIS_HOST + valueFrom: + configMapKeyRef: + name: redis-config + key: host + - name: REDIS_PORT + valueFrom: + configMapKeyRef: + name: redis-config + key: port + - name: AZURE_EVENTHUB_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: azure-secret + key: eventhub-connection-string + - name: NOTIFICATION_SERVICE_URL + value: "http://notification-service:8082" + resources: + requests: + cpu: 256m + memory: 256Mi + limits: + cpu: 1024m + memory: 1024Mi + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: 8081 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: 8081 + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 3 +--- +# Meeting Service Service +apiVersion: v1 +kind: Service +metadata: + name: meeting-service + namespace: hgzero + labels: + app: meeting-service +spec: + type: ClusterIP + ports: + - port: 8081 + targetPort: 8081 + protocol: TCP + name: http + - port: 8082 + targetPort: 8082 + protocol: TCP + name: websocket + selector: + app: meeting-service diff --git a/deploy/k8s/backend/namespace.yaml b/deploy/k8s/backend/namespace.yaml new file mode 100644 index 0000000..c277997 --- /dev/null +++ b/deploy/k8s/backend/namespace.yaml @@ -0,0 +1,9 @@ +--- +# Namespace for HGZero application +apiVersion: v1 +kind: Namespace +metadata: + name: hgzero + labels: + name: hgzero + environment: production diff --git a/deploy/k8s/backend/notification-service.yaml b/deploy/k8s/backend/notification-service.yaml new file mode 100644 index 0000000..8d56964 --- /dev/null +++ b/deploy/k8s/backend/notification-service.yaml @@ -0,0 +1,129 @@ +--- +# Notification Service Deployment +apiVersion: apps/v1 +kind: Deployment +metadata: + name: notification-service + namespace: hgzero + labels: + app: notification-service + tier: backend +spec: + replicas: 1 + selector: + matchLabels: + app: notification-service + template: + metadata: + labels: + app: notification-service + tier: backend + spec: + containers: + - name: notification-service + image: acrdigitalgarage02.azurecr.io/hgzero/notification-service:latest + imagePullPolicy: Always + ports: + - containerPort: 8082 + name: http + env: + - name: SPRING_PROFILES_ACTIVE + value: "prod" + - name: SERVER_PORT + value: "8082" + - name: DB_HOST + valueFrom: + secretKeyRef: + name: db-secret + key: host + - name: DB_USERNAME + valueFrom: + secretKeyRef: + name: db-secret + key: username + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: db-secret + key: password + - name: REDIS_HOST + valueFrom: + configMapKeyRef: + name: redis-config + key: host + - name: REDIS_PORT + valueFrom: + configMapKeyRef: + name: redis-config + key: port + - name: AZURE_EVENTHUB_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: azure-secret + key: eventhub-connection-string + - name: AZURE_BLOB_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: azure-secret + key: blob-connection-string + - name: MAIL_HOST + valueFrom: + configMapKeyRef: + name: mail-config + key: host + - name: MAIL_PORT + valueFrom: + configMapKeyRef: + name: mail-config + key: port + - name: MAIL_USERNAME + valueFrom: + secretKeyRef: + name: mail-secret + key: username + - name: MAIL_PASSWORD + valueFrom: + secretKeyRef: + name: mail-secret + key: password + resources: + requests: + cpu: 256m + memory: 256Mi + limits: + cpu: 1024m + memory: 1024Mi + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: 8082 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: 8082 + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 3 +--- +# Notification Service Service +apiVersion: v1 +kind: Service +metadata: + name: notification-service + namespace: hgzero + labels: + app: notification-service +spec: + type: ClusterIP + ports: + - port: 8082 + targetPort: 8082 + protocol: TCP + name: http + selector: + app: notification-service diff --git a/deploy/k8s/backend/secret-template.yaml b/deploy/k8s/backend/secret-template.yaml new file mode 100644 index 0000000..6ace0e8 --- /dev/null +++ b/deploy/k8s/backend/secret-template.yaml @@ -0,0 +1,36 @@ +--- +# Database Secret Template +# Note: Replace base64 encoded values with your actual credentials +# To encode: echo -n 'your-value' | base64 +apiVersion: v1 +kind: Secret +metadata: + name: db-secret + namespace: hgzero +type: Opaque +data: + host: + username: + password: +--- +# Azure Secret Template +apiVersion: v1 +kind: Secret +metadata: + name: azure-secret + namespace: hgzero +type: Opaque +data: + eventhub-connection-string: + blob-connection-string: +--- +# Mail Secret Template +apiVersion: v1 +kind: Secret +metadata: + name: mail-secret + namespace: hgzero +type: Opaque +data: + username: + password: diff --git a/deploy/k8s/backend/undeploy.sh b/deploy/k8s/backend/undeploy.sh new file mode 100755 index 0000000..76f07a8 --- /dev/null +++ b/deploy/k8s/backend/undeploy.sh @@ -0,0 +1,89 @@ +#!/bin/bash + +# HGZero Backend Services Kubernetes Undeployment Script + +set -e + +# Color codes for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Configuration +NAMESPACE="hgzero" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +echo -e "${YELLOW}======================================${NC}" +echo -e "${YELLOW}HGZero Backend Services Undeployment${NC}" +echo -e "${YELLOW}======================================${NC}" + +# Check if kubectl is installed +if ! command -v kubectl &> /dev/null; then + echo -e "${RED}Error: kubectl is not installed${NC}" + exit 1 +fi + +# Verify connection to cluster +echo -e "${YELLOW}Verifying connection to Kubernetes cluster...${NC}" +if ! kubectl cluster-info &> /dev/null; then + echo -e "${RED}Error: Cannot connect to Kubernetes cluster${NC}" + exit 1 +fi + +# Check if namespace exists +if ! kubectl get namespace ${NAMESPACE} &> /dev/null; then + echo -e "${YELLOW}Namespace '${NAMESPACE}' does not exist. Nothing to undeploy.${NC}" + exit 0 +fi + +echo -e "${YELLOW}This will delete all services in namespace '${NAMESPACE}'${NC}" +read -p "Are you sure you want to continue? (y/N): " -n 1 -r +echo +if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo -e "${YELLOW}Undeployment cancelled${NC}" + exit 0 +fi + +# Delete services +echo -e "${YELLOW}Deleting Meeting Service...${NC}" +kubectl delete -f ${SCRIPT_DIR}/meeting-service.yaml --ignore-not-found=true +echo -e "${GREEN}✓ Meeting Service deleted${NC}" + +echo -e "${YELLOW}Deleting Notification Service...${NC}" +kubectl delete -f ${SCRIPT_DIR}/notification-service.yaml --ignore-not-found=true +echo -e "${GREEN}✓ Notification Service deleted${NC}" + +echo -e "${YELLOW}Deleting User Service...${NC}" +kubectl delete -f ${SCRIPT_DIR}/user-service.yaml --ignore-not-found=true +echo -e "${GREEN}✓ User Service deleted${NC}" + +# Delete ConfigMaps +echo -e "${YELLOW}Deleting ConfigMaps...${NC}" +kubectl delete -f ${SCRIPT_DIR}/configmap.yaml --ignore-not-found=true +echo -e "${GREEN}✓ ConfigMaps deleted${NC}" + +# Ask about secrets deletion +echo "" +echo -e "${YELLOW}Do you want to delete secrets as well?${NC}" +echo -e "${RED}Warning: This will delete all database and Azure credentials${NC}" +read -p "Delete secrets? (y/N): " -n 1 -r +echo +if [[ $REPLY =~ ^[Yy]$ ]]; then + kubectl delete secret db-secret azure-secret mail-secret -n ${NAMESPACE} --ignore-not-found=true + echo -e "${GREEN}✓ Secrets deleted${NC}" +fi + +# Ask about namespace deletion +echo "" +echo -e "${YELLOW}Do you want to delete the namespace '${NAMESPACE}'?${NC}" +read -p "Delete namespace? (y/N): " -n 1 -r +echo +if [[ $REPLY =~ ^[Yy]$ ]]; then + kubectl delete namespace ${NAMESPACE} + echo -e "${GREEN}✓ Namespace deleted${NC}" +fi + +echo -e "${GREEN}======================================${NC}" +echo -e "${GREEN}Undeployment Completed${NC}" +echo -e "${GREEN}======================================${NC}" diff --git a/deploy/k8s/backend/user-service.yaml b/deploy/k8s/backend/user-service.yaml new file mode 100644 index 0000000..d5f6267 --- /dev/null +++ b/deploy/k8s/backend/user-service.yaml @@ -0,0 +1,102 @@ +--- +# User Service Deployment +apiVersion: apps/v1 +kind: Deployment +metadata: + name: user-service + namespace: hgzero + labels: + app: user-service + tier: backend +spec: + replicas: 1 + selector: + matchLabels: + app: user-service + template: + metadata: + labels: + app: user-service + tier: backend + spec: + containers: + - name: user-service + image: acrdigitalgarage02.azurecr.io/hgzero/user-service:latest + imagePullPolicy: Always + ports: + - containerPort: 8080 + name: http + env: + - name: SPRING_PROFILES_ACTIVE + value: "prod" + - name: DB_HOST + valueFrom: + secretKeyRef: + name: db-secret + key: host + - name: DB_USERNAME + valueFrom: + secretKeyRef: + name: db-secret + key: username + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: db-secret + key: password + - name: REDIS_HOST + valueFrom: + configMapKeyRef: + name: redis-config + key: host + - name: REDIS_PORT + valueFrom: + configMapKeyRef: + name: redis-config + key: port + - name: AZURE_EVENTHUB_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: azure-secret + key: eventhub-connection-string + resources: + requests: + cpu: 256m + memory: 256Mi + limits: + cpu: 1024m + memory: 1024Mi + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: 8080 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 3 +--- +# User Service Service +apiVersion: v1 +kind: Service +metadata: + name: user-service + namespace: hgzero + labels: + app: user-service +spec: + type: ClusterIP + ports: + - port: 8080 + targetPort: 8080 + protocol: TCP + name: http + selector: + app: user-service From 0d65be87a24e8884202b63179c15cf08fe32825e Mon Sep 17 00:00:00 2001 From: yabo0812 Date: Mon, 27 Oct 2025 17:37:49 +0900 Subject: [PATCH 23/31] =?UTF-8?q?Todo=20=EC=B6=94=EA=B0=80=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80=20&=20=EB=AA=A8=EB=8B=AC=20?= =?UTF-8?q?=ED=8C=9D=EC=97=85=EC=9D=84=20=EB=AA=A8=EB=B0=94=EC=9D=BC?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EB=B0=94=ED=85=80=EC=8B=9C=ED=8A=B8?= =?UTF-8?q?=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design/uiux/prototype/10-회의록상세조회.html | 204 ++++++++++--------- 1 file changed, 106 insertions(+), 98 deletions(-) diff --git a/design/uiux/prototype/10-회의록상세조회.html b/design/uiux/prototype/10-회의록상세조회.html index d133819..c359822 100644 --- a/design/uiux/prototype/10-회의록상세조회.html +++ b/design/uiux/prototype/10-회의록상세조회.html @@ -1129,7 +1129,10 @@
-

📋 Todo 리스트

+
+

📋 Todo 리스트

+ +

Todo 항목은 조회만 가능합니다. 제목, 담당자, 마감일 정보만 표시됩니다.

@@ -1139,7 +1142,7 @@
데이터베이스 스키마 설계
- +
👤 이준호 @@ -1150,7 +1153,7 @@
API 명세서 작성
- +
👤 이준호 @@ -1161,7 +1164,7 @@
예산 편성안 검토
- +
👤 김민준 @@ -1172,7 +1175,7 @@
UI 프로토타입 디자인
- +
👤 최유진 @@ -1183,7 +1186,7 @@
사용자 피드백 분석
- +
👤 김민준 @@ -1247,17 +1250,27 @@
-

📅 마감일 변경 시 캘린더가 자동 업데이트됩니다

-
- -
- info -
- 권한 안내 -

회의 생성자로서 모든 항목을 수정할 수 있습니다.

-