회의록 목록 조회 API (mock) 구현

This commit is contained in:
cyjadela 2025-10-27 13:12:28 +09:00
parent a7ce5a6edd
commit 279bfa0758
25 changed files with 788 additions and 28 deletions

View File

@ -1423,3 +1423,509 @@ Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Obj
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583) at java.base/java.lang.Thread.run(Thread.java:1583)
2025-10-27 09:52:22 [parallel-7] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Error in AMQP channel processor.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","subscriberId":"un_e23365_1761526338131"} 2025-10-27 09:52:22 [parallel-7] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Error in AMQP channel processor.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","subscriberId":"un_e23365_1761526338131"}
2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 47761 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting)
2025-10-27 13:05:31 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 84 ms. Found 8 JPA repository interfaces.
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces.
2025-10-27 13:05:32 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
2025-10-27 13:05:32 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2025-10-27 13:05:32 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1256 ms
2025-10-27 13:05:32 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
2025-10-27 13:05:32 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
2025-10-27 13:05:33 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@b340615
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3c6b300a
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3c6b300a
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@4247093b
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@4247093b
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@7074da1d
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@7074da1d
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@3e55eeb9
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@3e55eeb9
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@3e55eeb9
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@44a13699
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@44a13699
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@1253b822
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@127d2aee
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@127d2aee
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3cc2e3e
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@4e14d520
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@4189e668
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3a589eed
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3a589eed
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3a589eed
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@5807ea46
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@305289b3
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@3ee68377
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4037cdb0
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4037cdb0
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@27055a2a
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@27055a2a
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@33e4068
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@33e4068
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@33e4068
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@9499643
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@776d8097
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@776d8097
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@7a34505a
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@b787274
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@b787274
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@b787274
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4ec616d6
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@55b45ea1
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@d5a72cd
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@45f95ac0
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@45f95ac0
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@3b77940f
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@3b77940f
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@4c418496
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@12d35bc9
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@1df32c09
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@1aa31454
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@5a8656a2
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@52035328
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@5614ae05
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@5614ae05
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6bfbab1c
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@349aeec4
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@78a165db
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4eb48298
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2d3bb944
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7744195
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@77f529a6
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@77f529a6
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7d47b021
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7d47b021
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6516181f
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6516181f
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6516181f
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@40cb95c1
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@40cb95c1
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@40cb95c1
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@1ead3c67
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@5e2b512b
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@ba87c11
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@ba87c11
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@17d19538
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@17d19538
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@17d19538
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@6068cda1
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@644e6a8e
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@2ccecae2
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@2ccecae2
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@37ade216
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@37ade216
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@37ade216
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@118e2487
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@118e2487
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@6032622
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@6032622
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@5cc075da
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@5cc075da
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@64ef2719
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@64ef2719
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@7b423f90
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@24f3fb87
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@79e16dd9
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@79e16dd9
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@22ee7fdc
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@1a88d194
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@fe13916
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@5ea0a7a9
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@278c998
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@25e353dc
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@234ce7ff
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@780a91d0
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@3cfab340
2025-10-27 13:05:33 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@8b1bfdf
2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2025-10-27 13:05:33 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
2025-10-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@6d8096ee) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@35d8ba22)
2025-10-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3fc051ce) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3c5bb37d)
2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@22c4354d
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@22c4354d
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@79e16dd9`
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@430db481]
2025-10-27 13:05:33 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
2025-10-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@3d3e9163]
2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL -
alter table if exists meeting_analysis
alter column agenda_analyses set data type TEXT
2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL -
alter table if exists meetings
alter column description set data type TEXT
2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL -
alter table if exists minutes_sections
alter column content set data type TEXT
2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL -
alter table if exists templates
alter column description set data type TEXT
2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL -
alter table if exists templates
alter column sections set data type TEXT
2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL -
alter table if exists todos
alter column description set data type TEXT
2025-10-27 13:05:34 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration
2025-10-27 13:05:34 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
2025-10-27 13:05:34 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
2025-10-27 13:05:34 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
2025-10-27 13:05:35 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_680666_1761537935139"}
2025-10-27 13:05:35 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
2025-10-27 13:05:35 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2025-10-27 13:05:35 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
Using generated security password: afdf51ca-5931-479f-826b-4f45c3af946f
This generated password is for development use only. Your security configuration must be updated before running your application in production.
2025-10-27 13:05:35 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
2025-10-27 13:05:35 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
2025-10-27 13:05:35 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
2025-10-27 13:05:35 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
2025-10-27 13:05:36 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
2025-10-27 13:05:36 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.959 seconds (process running for 5.176)
2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"}
2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_680666_1761537935139","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"}
2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
2025-10-27 13:05:36 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration
2025-10-27 13:05:36 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@1dec0e39] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@3d3e9163]
2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 48882 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting)
2025-10-27 13:10:51 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 8 JPA repository interfaces.
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 0 Redis repository interfaces.
2025-10-27 13:10:52 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
2025-10-27 13:10:52 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2025-10-27 13:10:52 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1106 ms
2025-10-27 13:10:52 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
2025-10-27 13:10:52 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
2025-10-27 13:10:52 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@776d8097
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@7a34505a
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@7a34505a
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@b787274
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@b787274
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@4ec616d6
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@4ec616d6
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@55b45ea1
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@d5a72cd
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@d5a72cd
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@d5a72cd
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@45f95ac0
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@45f95ac0
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@3b77940f
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4c418496
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4c418496
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@12d35bc9
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@1df32c09
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@1aa31454
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@5a8656a2
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@5a8656a2
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@5a8656a2
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@52035328
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@5614ae05
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@54970127
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@3c4c7e51
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@3c4c7e51
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@749ee0e3
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@749ee0e3
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7891cf3
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7891cf3
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7891cf3
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@6bfbab1c
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@349aeec4
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@349aeec4
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@3700994c
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@78a165db
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@78a165db
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@78a165db
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4eb48298
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@2d3bb944
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@1e429f56
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@6dbeaef8
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@6dbeaef8
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@7744195
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@7744195
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@77f529a6
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@7d47b021
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@6516181f
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@40cb95c1
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@1ead3c67
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@5e2b512b
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@ba87c11
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@ba87c11
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@37ade216
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@118e2487
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@6032622
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@6032622
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@5cc075da
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4258106
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@64ef2719
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@24f3fb87
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@c7673ae
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@113c4ad6
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@113c4ad6
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7be859de
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7be859de
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@40fcaae7
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@7fa85a55
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@7fa85a55
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@7fa85a55
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@cb1c58c
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@352e4b6d
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@10a064bd
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@10a064bd
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2de7fe0e
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@2ff8d39b
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@684a802a
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@7b5c9412
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@7b5c9412
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@69d902f9
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@69d902f9
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@69d902f9
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@547052
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@547052
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@23c00420
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@23c00420
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@215a329c
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@215a329c
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@20723ee
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@21c5c68a
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@3cfab340
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3cfab340
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@1736273c
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@ba86c53
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@3df6494f
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@1b5f960a
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@53ddabc6
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@39ac8c0c
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@361f1647
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@51172948
2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6f2a3b37
2025-10-27 13:10:52 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
2025-10-27 13:10:52 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2f3c7b24
2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2025-10-27 13:10:53 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
2025-10-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@69926b6e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7ea8224b)
2025-10-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@5a010eec) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@623ded82)
2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@4b552b13
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@4b552b13
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@3cfab340`
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@c79915a]
2025-10-27 13:10:53 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
2025-10-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@259647f2]
2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL -
alter table if exists meeting_analysis
alter column agenda_analyses set data type TEXT
2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL -
alter table if exists meetings
alter column description set data type TEXT
2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL -
alter table if exists minutes_sections
alter column content set data type TEXT
2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL -
alter table if exists templates
alter column description set data type TEXT
2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL -
alter table if exists templates
alter column sections set data type TEXT
2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL -
alter table if exists todos
alter column description set data type TEXT
2025-10-27 13:10:54 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@259647f2] for TypeConfiguration
2025-10-27 13:10:54 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
2025-10-27 13:10:54 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
2025-10-27 13:10:54 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
2025-10-27 13:10:54 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_5ae9ef_1761538254872"}
2025-10-27 13:10:54 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
2025-10-27 13:10:55 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2025-10-27 13:10:55 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
Using generated security password: 1f1f726a-7d80-4480-8e52-83418bddf566
This generated password is for development use only. Your security configuration must be updated before running your application in production.
2025-10-27 13:10:55 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
2025-10-27 13:10:55 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
2025-10-27 13:10:55 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
2025-10-27 13:10:55 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
2025-10-27 13:10:55 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
2025-10-27 13:10:55 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
2025-10-27 13:10:55 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.753 seconds (process running for 4.969)
2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2025-10-27 13:10:57 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html
2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html
2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css
2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css
2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js
2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js
2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css
2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css
2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js
2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js
2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js
2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js
2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png
2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config
2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png
2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config
2025-10-27 13:10:57 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@883dec9]]
2025-10-27 13:10:57 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms
2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs
2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext
2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs
2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@7ef4c28b], /v3/api-docs, ko_KR]
2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 409 ms
2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 420ms
2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all
2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-002)
2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all
2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [user-002, 1, 0, 10, modified, desc, all, null, null]
2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: user-002, page: 0, size: 10, status: all, participationType: null, search: null
2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: user-002, total: 7, filtered: 7, paged: 7
2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 7ms

View File

@ -58,44 +58,51 @@ public class MinutesController {
@RequestHeader("X-User-Id") String userId, @RequestHeader("X-User-Id") String userId,
@RequestHeader("X-User-Name") String userName, @RequestHeader("X-User-Name") String userName,
@Parameter(description = "페이지 번호 (0부터 시작)") @RequestParam(defaultValue = "0") int page, @Parameter(description = "페이지 번호 (0부터 시작)") @RequestParam(defaultValue = "0") int page,
@Parameter(description = "페이지 크기") @RequestParam(defaultValue = "20") int size, @Parameter(description = "페이지 크기") @RequestParam(defaultValue = "10") int size,
@Parameter(description = "정렬 기준 (createdAt, lastModifiedAt)") @RequestParam(defaultValue = "lastModifiedAt") String sortBy, @Parameter(description = "정렬 기준 (modified, meeting, title)") @RequestParam(defaultValue = "modified") String sortBy,
@Parameter(description = "정렬 방향 (asc, desc)") @RequestParam(defaultValue = "desc") String sortDir) { @Parameter(description = "정렬 방향 (asc, desc)") @RequestParam(defaultValue = "desc") String sortDir,
@Parameter(description = "상태 필터 (all, draft, complete)") @RequestParam(defaultValue = "all") String status,
@Parameter(description = "참여 유형 (attended, created)") @RequestParam(required = false) String participationType,
@Parameter(description = "검색 키워드") @RequestParam(required = false) String search) {
log.info("회의록 목록 조회 요청 - userId: {}, page: {}, size: {}", userId, page, size); log.info("회의록 목록 조회 요청 - userId: {}, page: {}, size: {}, status: {}, participationType: {}, search: {}",
userId, page, size, status, participationType, search);
try { try {
// 캐시 확인 // Mock 데이터 생성 (프론트엔드 테스트용)
String cacheKey = String.format("minutes:list:%s:%d:%d:%s:%s", userId, page, size, sortBy, sortDir); List<MinutesListResponse.MinutesItem> mockMinutes = createMockMinutesList(userId);
MinutesListResponse cachedResponse = cacheService.getCachedMinutesList(cacheKey);
if (cachedResponse != null) {
log.debug("캐시된 회의록 목록 반환 - userId: {}", userId);
return ResponseEntity.ok(ApiResponse.success(cachedResponse));
}
// 정렬 설정
Sort.Direction direction = sortDir.equalsIgnoreCase("desc") ? Sort.Direction.DESC : Sort.Direction.ASC;
Pageable pageable = PageRequest.of(page, size, Sort.by(direction, sortBy));
// 회의록 목록 조회
var minutesPage = minutesService.getMinutesListByUserId(userId, pageable);
// 응답 DTO 생성 // 필터링 적용
List<MinutesListResponse.MinutesItem> minutesItems = minutesPage.getContent().stream() List<MinutesListResponse.MinutesItem> filteredMinutes = mockMinutes.stream()
.map(this::convertToMinutesItem) .filter(item -> filterByStatus(item, status))
.filter(item -> filterByParticipationType(item, participationType, userId))
.filter(item -> filterBySearch(item, search))
.collect(Collectors.toList()); .collect(Collectors.toList());
// 정렬 적용
applySorting(filteredMinutes, sortBy, sortDir);
// 페이징 적용
int startIndex = page * size;
int endIndex = Math.min(startIndex + size, filteredMinutes.size());
List<MinutesListResponse.MinutesItem> pagedMinutes =
startIndex < filteredMinutes.size() ?
filteredMinutes.subList(startIndex, endIndex) :
List.of();
// 통계 계산
MinutesListResponse.Statistics stats = calculateStatistics(mockMinutes, participationType, userId);
MinutesListResponse response = MinutesListResponse.builder() MinutesListResponse response = MinutesListResponse.builder()
.minutesList(minutesItems) .minutesList(pagedMinutes)
.totalCount(minutesPage.getTotalElements()) .totalCount(filteredMinutes.size())
.currentPage(page) .currentPage(page)
.totalPages(minutesPage.getTotalPages()) .totalPages((int) Math.ceil((double) filteredMinutes.size() / size))
.statistics(stats)
.build(); .build();
// 캐시 저장 log.info("회의록 목록 조회 성공 - userId: {}, total: {}, filtered: {}, paged: {}",
cacheService.cacheMinutesList(cacheKey, response); userId, mockMinutes.size(), filteredMinutes.size(), pagedMinutes.size());
log.info("회의록 목록 조회 성공 - userId: {}, count: {}", userId, minutesItems.size());
return ResponseEntity.ok(ApiResponse.success(response)); return ResponseEntity.ok(ApiResponse.success(response));
} catch (Exception e) { } catch (Exception e) {
@ -345,6 +352,238 @@ public class MinutesController {
.build(); .build();
} }
/**
* Mock 데이터 생성 (프론트엔드 테스트용)
*/
private List<MinutesListResponse.MinutesItem> createMockMinutesList(String userId) {
List<MinutesListResponse.MinutesItem> mockData = List.of(
// 사용자가 생성한 회의록들
MinutesListResponse.MinutesItem.builder()
.minutesId("minutes-001")
.title("2024년 1분기 성과리뷰 회의록")
.meetingTitle("2024년 1분기 성과리뷰")
.status("FINALIZED")
.version(3)
.createdAt(LocalDateTime.of(2024, 3, 15, 14, 0))
.lastModifiedAt(LocalDateTime.of(2024, 3, 15, 16, 30))
.meetingDate(LocalDateTime.of(2024, 3, 15, 14, 0))
.createdBy(userId)
.lastModifiedBy(userId)
.participantCount(8)
.todoCount(5)
.completedTodoCount(5)
.completionRate(100)
.isCreatedByUser(true)
.build(),
MinutesListResponse.MinutesItem.builder()
.minutesId("minutes-002")
.title("신규 프로젝트 킥오프 회의록")
.meetingTitle("신규 프로젝트 킥오프")
.status("DRAFT")
.version(1)
.createdAt(LocalDateTime.of(2024, 3, 20, 10, 0))
.lastModifiedAt(LocalDateTime.of(2024, 3, 20, 11, 45))
.meetingDate(LocalDateTime.of(2024, 3, 20, 10, 0))
.createdBy(userId)
.lastModifiedBy("user-002")
.participantCount(6)
.todoCount(8)
.completedTodoCount(3)
.completionRate(75)
.isCreatedByUser(true)
.build(),
// 사용자가 참석한 회의록들
MinutesListResponse.MinutesItem.builder()
.minutesId("minutes-003")
.title("마케팅 전략 회의록")
.meetingTitle("마케팅 전략 논의")
.status("FINALIZED")
.version(2)
.createdAt(LocalDateTime.of(2024, 3, 18, 15, 0))
.lastModifiedAt(LocalDateTime.of(2024, 3, 18, 17, 0))
.meetingDate(LocalDateTime.of(2024, 3, 18, 15, 0))
.createdBy("user-003")
.lastModifiedBy("user-003")
.participantCount(5)
.todoCount(4)
.completedTodoCount(4)
.completionRate(100)
.isCreatedByUser(false)
.build(),
MinutesListResponse.MinutesItem.builder()
.minutesId("minutes-004")
.title("기술 아키텍처 리뷰 회의록")
.meetingTitle("기술 아키텍처 리뷰")
.status("DRAFT")
.version(1)
.createdAt(LocalDateTime.of(2024, 3, 22, 9, 0))
.lastModifiedAt(LocalDateTime.of(2024, 3, 22, 10, 30))
.meetingDate(LocalDateTime.of(2024, 3, 22, 9, 0))
.createdBy("user-004")
.lastModifiedBy("user-004")
.participantCount(7)
.todoCount(6)
.completedTodoCount(2)
.completionRate(60)
.isCreatedByUser(false)
.build(),
MinutesListResponse.MinutesItem.builder()
.minutesId("minutes-005")
.title("주간 스프린트 회고 회의록")
.meetingTitle("주간 스프린트 회고")
.status("FINALIZED")
.version(1)
.createdAt(LocalDateTime.of(2024, 3, 25, 16, 0))
.lastModifiedAt(LocalDateTime.of(2024, 3, 25, 17, 0))
.meetingDate(LocalDateTime.of(2024, 3, 25, 16, 0))
.createdBy("user-005")
.lastModifiedBy("user-005")
.participantCount(4)
.todoCount(3)
.completedTodoCount(3)
.completionRate(100)
.isCreatedByUser(false)
.build(),
// 추가 더미 데이터들
MinutesListResponse.MinutesItem.builder()
.minutesId("minutes-006")
.title("고객 피드백 분석 회의록")
.meetingTitle("고객 피드백 분석")
.status("DRAFT")
.version(2)
.createdAt(LocalDateTime.of(2024, 3, 28, 14, 0))
.lastModifiedAt(LocalDateTime.of(2024, 3, 28, 15, 20))
.meetingDate(LocalDateTime.of(2024, 3, 28, 14, 0))
.createdBy(userId)
.lastModifiedBy(userId)
.participantCount(5)
.todoCount(7)
.completedTodoCount(4)
.completionRate(85)
.isCreatedByUser(true)
.build(),
MinutesListResponse.MinutesItem.builder()
.minutesId("minutes-007")
.title("보안 정책 수립 회의록")
.meetingTitle("보안 정책 수립")
.status("FINALIZED")
.version(1)
.createdAt(LocalDateTime.of(2024, 3, 12, 10, 0))
.lastModifiedAt(LocalDateTime.of(2024, 3, 12, 12, 0))
.meetingDate(LocalDateTime.of(2024, 3, 12, 10, 0))
.createdBy("user-006")
.lastModifiedBy("user-006")
.participantCount(6)
.todoCount(4)
.completedTodoCount(4)
.completionRate(100)
.isCreatedByUser(false)
.build()
);
return mockData;
}
/**
* 상태별 필터링
*/
private boolean filterByStatus(MinutesListResponse.MinutesItem item, String status) {
if ("all".equals(status)) {
return true;
}
if ("draft".equals(status)) {
return "DRAFT".equals(item.getStatus());
}
if ("complete".equals(status)) {
return "FINALIZED".equals(item.getStatus());
}
return true;
}
/**
* 참여 유형별 필터링
*/
private boolean filterByParticipationType(MinutesListResponse.MinutesItem item, String participationType, String userId) {
if (participationType == null || participationType.isEmpty()) {
return true;
}
if ("created".equals(participationType)) {
return item.isCreatedByUser();
}
if ("attended".equals(participationType)) {
return !item.isCreatedByUser();
}
return true;
}
/**
* 검색어 필터링
*/
private boolean filterBySearch(MinutesListResponse.MinutesItem item, String search) {
if (search == null || search.trim().isEmpty()) {
return true;
}
String searchLower = search.toLowerCase();
return item.getTitle().toLowerCase().contains(searchLower) ||
item.getMeetingTitle().toLowerCase().contains(searchLower);
}
/**
* 정렬 적용
*/
private void applySorting(List<MinutesListResponse.MinutesItem> items, String sortBy, String sortDir) {
boolean ascending = "asc".equalsIgnoreCase(sortDir);
switch (sortBy) {
case "title":
items.sort((a, b) -> ascending ?
a.getTitle().compareTo(b.getTitle()) :
b.getTitle().compareTo(a.getTitle()));
break;
case "meeting":
items.sort((a, b) -> ascending ?
a.getMeetingDate().compareTo(b.getMeetingDate()) :
b.getMeetingDate().compareTo(a.getMeetingDate()));
break;
case "modified":
default:
items.sort((a, b) -> ascending ?
a.getLastModifiedAt().compareTo(b.getLastModifiedAt()) :
b.getLastModifiedAt().compareTo(a.getLastModifiedAt()));
break;
}
}
/**
* 통계 계산
*/
private MinutesListResponse.Statistics calculateStatistics(List<MinutesListResponse.MinutesItem> allItems,
String participationType, String userId) {
List<MinutesListResponse.MinutesItem> filteredItems = allItems.stream()
.filter(item -> filterByParticipationType(item, participationType, userId))
.collect(Collectors.toList());
long totalCount = filteredItems.size();
long draftCount = filteredItems.stream()
.filter(item -> "DRAFT".equals(item.getStatus()))
.count();
long completeCount = filteredItems.stream()
.filter(item -> "FINALIZED".equals(item.getStatus()))
.count();
return MinutesListResponse.Statistics.builder()
.totalCount(totalCount)
.draftCount(draftCount)
.completeCount(completeCount)
.build();
}
private MinutesDetailResponse convertToMinutesDetailResponse(MinutesDTO minutesDTO) { private MinutesDetailResponse convertToMinutesDetailResponse(MinutesDTO minutesDTO) {
return MinutesDetailResponse.builder() return MinutesDetailResponse.builder()
.minutesId(minutesDTO.getMinutesId()) .minutesId(minutesDTO.getMinutesId())

View File

@ -21,6 +21,17 @@ public class MinutesListResponse {
private long totalCount; private long totalCount;
private int currentPage; private int currentPage;
private int totalPages; private int totalPages;
private Statistics statistics; // 상태별 통계
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class Statistics {
private long totalCount;
private long draftCount;
private long completeCount;
}
@Getter @Getter
@Builder @Builder
@ -34,9 +45,13 @@ public class MinutesListResponse {
private int version; private int version;
private LocalDateTime createdAt; private LocalDateTime createdAt;
private LocalDateTime lastModifiedAt; private LocalDateTime lastModifiedAt;
private LocalDateTime meetingDate; // 회의 일시
private String createdBy; private String createdBy;
private String lastModifiedBy; private String lastModifiedBy;
private int participantCount; // 참석자
private int todoCount; private int todoCount;
private int completedTodoCount; private int completedTodoCount;
private int completionRate; // 검증완료율
private boolean isCreatedByUser; // 사용자가 생성한 회의록 여부
} }
} }