diff --git a/build/reports/problems/problems-report.html b/build/reports/problems/problems-report.html
index 1869c93..ebb5bef 100644
--- a/build/reports/problems/problems-report.html
+++ b/build/reports/problems/problems-report.html
@@ -650,12 +650,12 @@ code + .copy-button {
diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log
index 67df9d0..1a51b46 100644
--- a/meeting/logs/meeting-service.log
+++ b/meeting/logs/meeting-service.log
@@ -23467,3 +23467,1529 @@ This generated password is for development use only. Your security configuration
2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null
2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@kt.com, total: 3, filtered: 3
2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 780ms
+2025-10-31 13:34:20 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 61239 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting)
+2025-10-31 13:34:20 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-31 13:34:20 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-31 13:34:20 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-31 13:34:20 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-31 13:34:20 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 72 ms. Found 10 JPA repository interfaces.
+2025-10-31 13:34:20 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-31 13:34:20 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-31 13:34:20 [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.AgendaSectionJpaRepository; 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-31 13:34:20 [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.AgendaSectionRepository; 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-31 13:34:20 [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-31 13:34:20 [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-31 13:34:20 [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-31 13:34:20 [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-31 13:34:20 [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-31 13:34:20 [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-31 13:34:20 [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-31 13:34:20 [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-31 13:34:20 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22 ms. Found 0 Redis repository interfaces.
+2025-10-31 13:34:21 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-31 13:34:21 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-31 13:34:21 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-31 13:34:21 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-31 13:34:21 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1110 ms
+2025-10-31 13:34:21 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-31 13:34:21 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-31 13:34:21 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@6f2a3b37
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@6f2a3b37
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@6f2a3b37
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@323b0632
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@323b0632
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@7cd8831c
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@7cd8831c
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@146db8a6
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@146db8a6
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@2a20da9f
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@2a20da9f
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@2a20da9f
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@40c0437f
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@40c0437f
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@40c0437f
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@78b8f818
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@78b8f818
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@1e9d721
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@2d3111a1
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@2d3111a1
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@6f2864c3
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@50ef2906
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1f70bce5
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1f70bce5
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@1f70bce5
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3ae91ab3
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3ae91ab3
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3ae91ab3
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@16cb6f51
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@16cb6f51
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@16cb6f51
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3fc5d397
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3fc5d397
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@3fc5d397
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@25c8c71e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@25c8c71e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@25c8c71e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@57867d96
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@57867d96
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@1a7a21d0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@1a7a21d0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@bb21063
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@bb21063
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@bb21063
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@6821c63c
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@c2f7c63
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@c2f7c63
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@4790b897
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@104cfb24
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@582ea164
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@2fccf49e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7abcc0da
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@3ac406d4
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@72646d16
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@6ec2d990
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@6ec2d990
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@57cff804
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@57cff804
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@57cff804
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@2f39b534
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@60fbc34d
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@7736c41e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@7736c41e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@5f911d24
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@5f911d24
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@5f911d24
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@3de383f7
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@33ccead
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@51b59d58
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@51b59d58
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@4ca4f762
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@4ca4f762
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@7c5d36c3
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@7c5d36c3
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@31de27c
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@31de27c
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@7ebfe01a
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@154b0748
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@7030b74c
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@7030b74c
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@538f45f1
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@64fc6470
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@42db955e
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@6bd2f039
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@6c8ad6d7
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@2d0778d0
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@33e8694b
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@4fc71437
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@75c15f76
+2025-10-31 13:34:21 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-31 13:34:21 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead
+2025-10-31 13:34:21 [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-31 13:34:21 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@2d5d001f) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7a92827f)
+2025-10-31 13:34:21 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@43094e0c) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@35efd12c)
+2025-10-31 13:34:21 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-31 13:34:21 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@584fb03d
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@584fb03d
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@7030b74c`
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-31 13:34:21 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-31 13:34:21 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@4693d24f] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@236a3e4]
+2025-10-31 13:34:21 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-31 13:34:21 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-31 13:34:22 [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-31 13:34:22 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@4693d24f] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@1cdbc986]
+2025-10-31 13:34:22 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-31 13:34:22 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-31 13:34:22 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@1cdbc986] for TypeConfiguration
+2025-10-31 13:34:22 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-31 13:34:22 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-31 13:34:22 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-31 13:34:22 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-31 13:34:22 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-31 13:34:22 [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-31 13:34:22 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-31 13:34:22 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
+2025-10-31 13:34:22 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
+2025-10-31 13:34:23 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_4ed394_1761885263024"}
+2025-10-31 13:34:23 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-31 13:34:23 [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-31 13:34:23 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 48a04d4f-1f6a-4955-8160-4d597af68d66
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-31 13:34:23 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-31 13:34:23 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-31 13:34:23 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-31 13:34:23 [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-31 13:34:23 [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-31 13:34:24 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-31 13:34:24 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.353 seconds (process running for 4.54)
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 7 ms
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/dashboard
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com)
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/dashboard
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, minjun.kim@kt.com]
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 요청 - userId: minjun.kim@kt.com
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1966cd35
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.DashboardService - Getting dashboard for user: minjun.kim@kt.com
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.status=?
+ and me1_0.scheduled_at
+2025-10-31 13:34:28 [http-nio-8082-exec-1] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 시작 - userId: minjun.kim@kt.com
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.scheduled_at between ? and ?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.user_id=?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.scheduled_at between ? and ?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.scheduled_at between ? and ?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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-31 13:34:28 [http-nio-8082-exec-1] 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-31 13:34:28 [http-nio-8082-exec-1] 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-31 13:34:28 [http-nio-8082-exec-1] 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-31 13:34:28 [http-nio-8082-exec-1] 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-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.gateway.DashboardGateway - 조회된 회의 목록 - userId: minjun.kim@kt.com, 총 5개 (SCHEDULED: 0, IN_PROGRESS: 2, COMPLETED: 3)
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.gateway.DashboardGateway - 회의록 조회 시작 - userId: minjun.kim@kt.com, startTime: 2025-10-01T13:34:28.911033, endTime: 2025-10-31T13:34:28.911042
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.created_by=?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.gateway.DashboardGateway - 조회된 회의록 수: 3
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.gateway.DashboardGateway - - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, meetingId: ed7307b0-752c-4436-ad59-0cd3d315d8cb, title: AI플랫폼개발팀 주간회의록, createdBy: minjun.kim@kt.com, createdAt: 2025-10-31T13:04:03.980252
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.gateway.DashboardGateway - - minutesId: minutes-test, meetingId: meeting-test, title: 2025년 1분기 제품 기획 회의, createdBy: minjun.kim@kt.com, createdAt: 2025-10-31T09:33:39.085860
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.gateway.DashboardGateway - - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, meetingId: 5571f815-5831-4ac5-9cfa-acfbe98f00d6, title: Q&A 에이전트 개발 회의록, createdBy: minjun.kim@kt.com, createdAt: 2025-10-31T03:21:09.721764
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.organizer_id=?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.user_id=?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] 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.scheduled_at between ? and ?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.created_by=?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-31 13:34:28 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-31 13:34:29 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-31 13:34:29 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-31 13:34:29 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-31 13:34:29 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+2025-10-31 13:34:29 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.assignee_id=?
+2025-10-31 13:34:29 [http-nio-8082-exec-1] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 완료 - userId: minjun.kim@kt.com, 예정 회의: 3개, 최근 회의록: 3개
+2025-10-31 13:34:29 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 완료 - userId: minjun.kim@kt.com
+2025-10-31 13:34:29 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 완료 - 실행시간: 681ms
+2025-10-31 13:34:39 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all
+2025-10-31 13:34:39 [http-nio-8082-exec-3] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com)
+2025-10-31 13:34:39 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all
+2025-10-31 13:34:39 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, 0, 10, modified, desc, all, null, null]
+2025-10-31 13:34:39 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: minjun.kim@kt.com, page: 0, size: 10, status: all, participationType: null, search: null
+2025-10-31 13:34:39 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com
+2025-10-31 13:34:39 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com
+2025-10-31 13:34:39 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.created_by=?
+2025-10-31 13:34:39 [http-nio-8082-exec-3] 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-31 13:34:39 [http-nio-8082-exec-3] 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-31 13:34:39 [http-nio-8082-exec-3] 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-31 13:34:39 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-31 13:34:39 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:39 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음.
+2025-10-31 13:34:39 [http-nio-8082-exec-3] 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-31 13:34:39 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:40 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null
+2025-10-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:40 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test
+2025-10-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: ed7307b0-752c-4436-ad59-0cd3d315d8cb
+2025-10-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 5571f815-5831-4ac5-9cfa-acfbe98f00d6
+2025-10-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.created_by=?
+2025-10-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:40 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음.
+2025-10-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:40 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null
+2025-10-31 13:34:40 [http-nio-8082-exec-3] 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-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-31 13:34:40 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:40 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null
+2025-10-31 13:34:40 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@kt.com, total: 3, filtered: 3
+2025-10-31 13:34:40 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 729ms
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes/minutes-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com)
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes/minutes-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, minutes-test]
+2025-10-31 13:34:49 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 요청 - userId: minjun.kim@kt.com, minutesId: minutes-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes DTO by id: minutes-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.decisions,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.user_id,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:49 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음.
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: minutes-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.pending_items,
+ ase1_0.summary,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-31 13:34:49 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: minutes-test, totalCount: 4
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] 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-31 13:34:49 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - Dashboard decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음.
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: minutes-test
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-31 13:34:49 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.gateway.AiServiceGateway - AI 분석 결과 캐시 미스, AI 서비스 호출 - minutesId: minutes-test
+2025-10-31 13:34:50 [http-nio-8082-exec-5] ERROR c.u.h.m.i.gateway.AiServiceGateway - AI 서비스 호출 실패 - minutesId: minutes-test, error: I/O error on POST request for "http://ai:8080/api/v1/analysis/minutes": ai
+org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://ai:8080/api/v1/analysis/minutes": ai
+ at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915)
+ at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895)
+ at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790)
+ at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672)
+ at com.unicorn.hgzero.meeting.infra.gateway.AiServiceGateway.requestAiAnalysis(AiServiceGateway.java:107)
+ at com.unicorn.hgzero.meeting.infra.gateway.AiServiceGateway.getAiAnalysis(AiServiceGateway.java:51)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.enhanceWithAiAnalysis(MinutesController.java:1009)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail(MinutesController.java:162)
+ 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.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)
+ 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.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)
+ 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: java.net.UnknownHostException: ai
+ at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:567)
+ at java.base/java.net.Socket.connect(Socket.java:751)
+ at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)
+ at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)
+ at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)
+ at java.base/sun.net.www.http.HttpClient.(HttpClient.java:282)
+ at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386)
+ at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408)
+ at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1320)
+ at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1253)
+ at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1139)
+ at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1068)
+ at org.springframework.http.client.SimpleClientHttpRequest.executeInternal(SimpleClientHttpRequest.java:79)
+ at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70)
+ at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66)
+ at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889)
+ ... 158 common frames omitted
+2025-10-31 13:34:50 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.MinutesController - AI 분석 요청 이벤트 발행 스킵 - DB 값 사용 - minutesId: minutes-test
+2025-10-31 13:34:50 [http-nio-8082-exec-5] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: minutes-test
+2025-10-31 13:34:50 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 성공 - minutesId: minutes-test
+2025-10-31 13:34:50 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 777ms
+2025-10-31 13:35:04 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes/minutes-test
+2025-10-31 13:35:04 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com)
+2025-10-31 13:35:04 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes/minutes-test
+2025-10-31 13:35:04 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, minutes-test]
+2025-10-31 13:35:04 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 요청 - userId: minjun.kim@kt.com, minutesId: minutes-test
+2025-10-31 13:35:04 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.MinutesController - 회의록 상세 캐시 히트 - minutesId: minutes-test
+2025-10-31 13:35:04 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 51ms
diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java
index ef4969d..6e26fb7 100644
--- a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java
+++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java
@@ -177,12 +177,13 @@ public class EndMeetingService implements EndMeetingUseCase {
*/
private MinutesEntity getOrCreateConsolidatedMinutes(MeetingEntity meeting) {
// userId가 NULL인 회의록 찾기 (AI 통합 회의록)
- Optional existing = minutesRepository
+ List existingList = minutesRepository
.findByMeetingIdAndUserIdIsNull(meeting.getMeetingId());
- if (existing.isPresent()) {
- log.debug("기존 통합 회의록 사용 - minutesId: {}", existing.get().getMinutesId());
- return existing.get();
+ if (!existingList.isEmpty()) {
+ MinutesEntity existing = existingList.get(0);
+ log.debug("기존 통합 회의록 사용 - minutesId: {}", existing.getMinutesId());
+ return existing;
}
// 없으면 새로 생성