user service 빌드 성공

This commit is contained in:
cyjadela
2025-10-24 09:34:52 +09:00
parent 607e0ae022
commit ca88d308c8
36 changed files with 4845 additions and 1249 deletions
+4 -71
View File
@@ -3,67 +3,12 @@
<ExternalSystemSettings>
<option name="env">
<map>
<!-- Database Configuration -->
<entry key="DB_KIND" value="postgresql" />
<entry key="DB_HOST" value="20.214.121.121" />
<entry key="DB_PORT" value="5432" />
<entry key="DB_NAME" value="userdb" />
<entry key="DB_USERNAME" value="hgzerouser" />
<entry key="DB_PASSWORD" value="Hi5Jessica!" />
<!-- JPA Configuration -->
<entry key="SHOW_SQL" value="true" />
<entry key="JPA_DDL_AUTO" value="update" />
<!-- Redis Configuration -->
<entry key="REDIS_HOST" value="20.249.177.114" />
<entry key="REDIS_PORT" value="6379" />
<entry key="REDIS_PASSWORD" value="Hi5Jessica!" />
<entry key="REDIS_DATABASE" value="0" />
<!-- Server Configuration -->
<entry key="SERVER_PORT" value="8081" />
<!-- JWT Configuration -->
<entry key="JWT_SECRET" value="dev-jwt-secret-key-for-development-only" />
<entry key="JWT_ACCESS_TOKEN_VALIDITY" value="3600" />
<entry key="JWT_REFRESH_TOKEN_VALIDITY" value="604800" />
<!-- CORS Configuration -->
<entry key="CORS_ALLOWED_ORIGINS" value="http://localhost:*" />
<!-- External API Keys -->
<entry key="CLAUDE_API_KEY" value="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" />
<entry key="OPENAI_API_KEY" value="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" />
<entry key="OPENWEATHER_API_KEY" value="1aa5bfca079a20586915b56f29235cc0" />
<entry key="KAKAO_API_KEY" value="094feac895a3e4a6d7ffa66d877bf48f" />
<!-- LDAP Configuration -->
<entry key="LDAP_URLS" value="ldaps://ldap.example.com:636" />
<entry key="LDAP_BASE" value="dc=example,dc=com" />
<entry key="LDAP_USERNAME" value="" />
<entry key="LDAP_PASSWORD" value="" />
<entry key="LDAP_USER_DN_PATTERN" value="uid={0},ou=people" />
<!-- Azure EventHub Configuration -->
<entry key="EVENTHUB_CONNECTION_STRING" value="Endpoint=sb://hgzero-eventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=VUqZ9vFgu35E3c6RiUzoOGVUP8IZpFvlV+AEhC6sUpo=" />
<entry key="EVENTHUB_NAME" value="hgzero-eventhub-name" />
<!-- Spring Profile -->
<entry key="SPRING_PROFILES_ACTIVE" value="dev" />
<!-- Logging Configuration -->
<entry key="LOG_LEVEL_ROOT" value="INFO" />
<entry key="LOG_LEVEL_APP" value="DEBUG" />
<entry key="LOG_LEVEL_WEB" value="INFO" />
<entry key="LOG_LEVEL_SECURITY" value="DEBUG" />
<entry key="LOG_LEVEL_SQL" value="DEBUG" />
<entry key="LOG_LEVEL_SQL_TYPE" value="TRACE" />
<entry key="LOG_FILE" value="logs/user-service.log" />
<entry key="JWT_SECRET" value="my-super-secret-jwt-key-for-hgzero-meeting-service-2024" />
</map>
</option>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalProjectPath" value="$PROJECT_DIR$/user" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
@@ -71,25 +16,13 @@
</option>
<option name="taskNames">
<list>
<option value=":user:bootRun" />
<option value="bootRun" />
</list>
</option>
<option name="vmOptions" />
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<EXTENSION ID="com.intellij.execution.ExternalSystemRunConfigurationJavaExtension">
<extension name="net.ashald.envfile">
<option name="IS_ENABLED" value="false" />
<option name="IS_SUBST" value="false" />
<option name="IS_PATH_MACRO_SUPPORTED" value="false" />
<option name="IS_IGNORE_MISSING_FILES" value="false" />
<option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
<ENTRIES>
<ENTRY IS_ENABLED="true" PARSER="runconfig" IS_EXECUTABLE="false" />
</ENTRIES>
</extension>
</EXTENSION>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>false</RunAsTest>
<method v="2" />
+5
View File
@@ -6,4 +6,9 @@ dependencies {
// LDAP
implementation 'org.springframework.boot:spring-boot-starter-data-ldap'
implementation 'org.springframework.ldap:spring-ldap-core'
// Azure EventHub
implementation "com.azure:azure-messaging-eventhubs:${azureEventHubsVersion}"
implementation "com.azure:azure-messaging-eventhubs-checkpointstore-blob:${azureEventHubsCheckpointVersion}"
implementation 'org.springframework.integration:spring-integration-core'
}
+218
View File
@@ -0,0 +1,218 @@
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.3.5)
2025-10-24 09:28:10 - Starting UserApplication using Java 21.0.8 with PID 25688 (/Users/adela/home/workspace/recent/HGZero/user/build/libs/user.jar started by adela in /Users/adela/home/workspace/recent/HGZero/user)
2025-10-24 09:28:10 - Running with Spring Boot v3.3.5, Spring v6.1.14
2025-10-24 09:28:10 - The following 1 profile is active: "dev"
2025-10-24 09:28:11 - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-24 09:28:11 - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2025-10-24 09:28:11 - Finished Spring Data repository scanning in 97 ms. Found 1 JPA repository interface.
2025-10-24 09:28:11 - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-24 09:28:11 - Bootstrapping Spring Data LDAP repositories in DEFAULT mode.
2025-10-24 09:28:11 - Spring Data LDAP - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.user.repository.jpa.UserRepository; If you want this repository to be a LDAP repository, consider annotating your entities with one of these annotations: org.springframework.ldap.odm.annotations.Entry (preferred), or consider extending one of the following types with your repository: org.springframework.data.ldap.repository.LdapRepository
2025-10-24 09:28:11 - Finished Spring Data repository scanning in 9 ms. Found 0 LDAP repository interfaces.
2025-10-24 09:28:11 - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-24 09:28:11 - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2025-10-24 09:28:11 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.user.repository.jpa.UserRepository; 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-24 09:28:11 - Finished Spring Data repository scanning in 1 ms. Found 0 Redis repository interfaces.
2025-10-24 09:28:11 - No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.
2025-10-24 09:28:11 - No bean named 'integrationHeaderChannelRegistry' has been explicitly defined. Therefore, a default DefaultHeaderChannelRegistry will be created.
2025-10-24 09:28:11 - Tomcat initialized with port 8081 (http)
2025-10-24 09:28:11 - Starting service [Tomcat]
2025-10-24 09:28:11 - Starting Servlet engine: [Apache Tomcat/10.1.31]
2025-10-24 09:28:11 - Initializing Spring embedded WebApplicationContext
2025-10-24 09:28:11 - Root WebApplicationContext: initialization completed in 1578 ms
2025-10-24 09:28:12 - HHH000204: Processing PersistenceUnitInfo [name: default]
2025-10-24 09:28:12 - HHH000412: Hibernate ORM core version 6.5.3.Final
2025-10-24 09:28:12 - HHH000026: Second-level cache disabled
2025-10-24 09:28:12 - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@175957b6
2025-10-24 09:28:12 - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@175957b6
2025-10-24 09:28:12 - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@175957b6
2025-10-24 09:28:12 - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@1b7a4930
2025-10-24 09:28:12 - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@1b7a4930
2025-10-24 09:28:12 - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@591a4d25
2025-10-24 09:28:12 - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@591a4d25
2025-10-24 09:28:12 - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@4bfe83d
2025-10-24 09:28:12 - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@4bfe83d
2025-10-24 09:28:12 - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5906ebfb
2025-10-24 09:28:12 - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5906ebfb
2025-10-24 09:28:12 - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@5906ebfb
2025-10-24 09:28:12 - Adding type registration binary -> org.hibernate.type.BasicTypeReference@10fc1a22
2025-10-24 09:28:12 - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@10fc1a22
2025-10-24 09:28:12 - Adding type registration [B -> org.hibernate.type.BasicTypeReference@10fc1a22
2025-10-24 09:28:12 - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@1b841e7d
2025-10-24 09:28:12 - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@1b841e7d
2025-10-24 09:28:12 - Adding type registration image -> org.hibernate.type.BasicTypeReference@6081f330
2025-10-24 09:28:12 - Adding type registration blob -> org.hibernate.type.BasicTypeReference@eb695e8
2025-10-24 09:28:12 - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@eb695e8
2025-10-24 09:28:12 - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@7eebb316
2025-10-24 09:28:12 - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@45273d40
2025-10-24 09:28:12 - Adding type registration short -> org.hibernate.type.BasicTypeReference@2a504ea7
2025-10-24 09:28:12 - Adding type registration short -> org.hibernate.type.BasicTypeReference@2a504ea7
2025-10-24 09:28:12 - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@2a504ea7
2025-10-24 09:28:12 - Adding type registration integer -> org.hibernate.type.BasicTypeReference@10f397d0
2025-10-24 09:28:12 - Adding type registration int -> org.hibernate.type.BasicTypeReference@10f397d0
2025-10-24 09:28:12 - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@10f397d0
2025-10-24 09:28:12 - Adding type registration long -> org.hibernate.type.BasicTypeReference@33a3e5db
2025-10-24 09:28:12 - Adding type registration long -> org.hibernate.type.BasicTypeReference@33a3e5db
2025-10-24 09:28:12 - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@33a3e5db
2025-10-24 09:28:12 - Adding type registration float -> org.hibernate.type.BasicTypeReference@4f9213d2
2025-10-24 09:28:12 - Adding type registration float -> org.hibernate.type.BasicTypeReference@4f9213d2
2025-10-24 09:28:12 - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@4f9213d2
2025-10-24 09:28:12 - Adding type registration double -> org.hibernate.type.BasicTypeReference@679f59f1
2025-10-24 09:28:12 - Adding type registration double -> org.hibernate.type.BasicTypeReference@679f59f1
2025-10-24 09:28:12 - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@679f59f1
2025-10-24 09:28:12 - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@6b5e1fc5
2025-10-24 09:28:12 - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@6b5e1fc5
2025-10-24 09:28:12 - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@47ffa248
2025-10-24 09:28:12 - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@47ffa248
2025-10-24 09:28:12 - Adding type registration character -> org.hibernate.type.BasicTypeReference@18ac25e6
2025-10-24 09:28:12 - Adding type registration char -> org.hibernate.type.BasicTypeReference@18ac25e6
2025-10-24 09:28:12 - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@18ac25e6
2025-10-24 09:28:12 - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@5e1a7d3
2025-10-24 09:28:12 - Adding type registration string -> org.hibernate.type.BasicTypeReference@1eda309d
2025-10-24 09:28:12 - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@1eda309d
2025-10-24 09:28:12 - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@248d2cec
2025-10-24 09:28:12 - Adding type registration characters -> org.hibernate.type.BasicTypeReference@5d77be8e
2025-10-24 09:28:12 - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@5d77be8e
2025-10-24 09:28:12 - Adding type registration [C -> org.hibernate.type.BasicTypeReference@5d77be8e
2025-10-24 09:28:12 - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@55a055cc
2025-10-24 09:28:12 - Adding type registration text -> org.hibernate.type.BasicTypeReference@1ab1d93d
2025-10-24 09:28:12 - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@57167ccb
2025-10-24 09:28:12 - Adding type registration clob -> org.hibernate.type.BasicTypeReference@37753b69
2025-10-24 09:28:12 - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@37753b69
2025-10-24 09:28:12 - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@602c167e
2025-10-24 09:28:12 - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@602c167e
2025-10-24 09:28:12 - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@74c04377
2025-10-24 09:28:12 - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@10d49900
2025-10-24 09:28:12 - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@e645600
2025-10-24 09:28:12 - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@e7b3e54
2025-10-24 09:28:12 - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@78d61f17
2025-10-24 09:28:12 - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@4cfe9594
2025-10-24 09:28:12 - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@60861e5d
2025-10-24 09:28:12 - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@60861e5d
2025-10-24 09:28:12 - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@37d81587
2025-10-24 09:28:12 - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@37d81587
2025-10-24 09:28:12 - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@7f3e9acc
2025-10-24 09:28:12 - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@7f3e9acc
2025-10-24 09:28:12 - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@47d4e28a
2025-10-24 09:28:12 - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@47d4e28a
2025-10-24 09:28:12 - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@177068db
2025-10-24 09:28:12 - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@177068db
2025-10-24 09:28:12 - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@60f3239f
2025-10-24 09:28:12 - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6b103db7
2025-10-24 09:28:12 - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@b3042ed
2025-10-24 09:28:12 - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@b3042ed
2025-10-24 09:28:12 - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@1f12d5e0
2025-10-24 09:28:12 - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6604f246
2025-10-24 09:28:12 - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@c1386b4
2025-10-24 09:28:12 - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@53d9af1
2025-10-24 09:28:12 - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@53d9af1
2025-10-24 09:28:12 - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@c89e263
2025-10-24 09:28:12 - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@4d5ea776
2025-10-24 09:28:12 - Adding type registration date -> org.hibernate.type.BasicTypeReference@5d68be4f
2025-10-24 09:28:12 - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@5d68be4f
2025-10-24 09:28:12 - Adding type registration time -> org.hibernate.type.BasicTypeReference@34eb5d01
2025-10-24 09:28:12 - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@34eb5d01
2025-10-24 09:28:12 - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@77b22b05
2025-10-24 09:28:12 - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@77b22b05
2025-10-24 09:28:12 - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@77b22b05
2025-10-24 09:28:12 - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@4fef5792
2025-10-24 09:28:12 - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@4fef5792
2025-10-24 09:28:12 - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@4fef5792
2025-10-24 09:28:12 - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@57ed02e6
2025-10-24 09:28:12 - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@39004e4f
2025-10-24 09:28:12 - Adding type registration instant -> org.hibernate.type.BasicTypeReference@5f0ca069
2025-10-24 09:28:12 - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@5f0ca069
2025-10-24 09:28:12 - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@6a6a2fdd
2025-10-24 09:28:12 - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@6a6a2fdd
2025-10-24 09:28:12 - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@6a6a2fdd
2025-10-24 09:28:12 - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@552ffa44
2025-10-24 09:28:12 - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@6e66b498
2025-10-24 09:28:12 - Adding type registration class -> org.hibernate.type.BasicTypeReference@54d35ed5
2025-10-24 09:28:12 - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@54d35ed5
2025-10-24 09:28:12 - Adding type registration currency -> org.hibernate.type.BasicTypeReference@6f7c9755
2025-10-24 09:28:12 - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@6f7c9755
2025-10-24 09:28:12 - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@6f7c9755
2025-10-24 09:28:12 - Adding type registration locale -> org.hibernate.type.BasicTypeReference@45abbd24
2025-10-24 09:28:12 - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@45abbd24
2025-10-24 09:28:12 - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@1e32037d
2025-10-24 09:28:12 - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@1e32037d
2025-10-24 09:28:12 - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@5059d398
2025-10-24 09:28:12 - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@5059d398
2025-10-24 09:28:12 - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@5b1420f9
2025-10-24 09:28:12 - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@5b1420f9
2025-10-24 09:28:12 - Adding type registration url -> org.hibernate.type.BasicTypeReference@434ee422
2025-10-24 09:28:12 - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@434ee422
2025-10-24 09:28:12 - Adding type registration vector -> org.hibernate.type.BasicTypeReference@4de93edd
2025-10-24 09:28:12 - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@53b2e1eb
2025-10-24 09:28:12 - Adding type registration object -> org.hibernate.type.JavaObjectType@134955bb
2025-10-24 09:28:12 - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@134955bb
2025-10-24 09:28:12 - Adding type registration null -> org.hibernate.type.NullType@195cbf5e
2025-10-24 09:28:12 - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@4cb82b09
2025-10-24 09:28:12 - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@b68932b
2025-10-24 09:28:12 - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@77b27b57
2025-10-24 09:28:12 - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@7adff6cb
2025-10-24 09:28:12 - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@13ebccd
2025-10-24 09:28:12 - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@4e80960a
2025-10-24 09:28:12 - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@2a0c244e
2025-10-24 09:28:12 - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@2f60e66a
2025-10-24 09:28:12 - No LoadTimeWeaver setup: ignoring JPA class transformer
2025-10-24 09:28:12 - HikariPool-1 - Starting...
2025-10-24 09:28:12 - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@6e5af973
2025-10-24 09:28:12 - HikariPool-1 - Start completed.
2025-10-24 09:28:12 - 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-24 09:28:12 - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@523f3c29) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@2fd8b081)
2025-10-24 09:28:12 - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@2fe38b73) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@511a307e)
2025-10-24 09:28:12 - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
2025-10-24 09:28:12 - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
2025-10-24 09:28:12 - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@c14bbab
2025-10-24 09:28:12 - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@c14bbab
2025-10-24 09:28:12 - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@134955bb`
2025-10-24 09:28:12 - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
2025-10-24 09:28:12 - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
2025-10-24 09:28:12 - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
2025-10-24 09:28:12 - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-24 09:28:12 - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-24 09:28:12 - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-24 09:28:12 - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-24 09:28:12 - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-24 09:28:12 - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-24 09:28:12 - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
2025-10-24 09:28:12 - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-24 09:28:12 - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-24 09:28:12 - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@40416321] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@3ab70d34]
2025-10-24 09:28:12 - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
2025-10-24 09:28:12 - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@40416321] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@5653429e]
2025-10-24 09:28:12 - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@5653429e] for TypeConfiguration
2025-10-24 09:28:12 - Initialized JPA EntityManagerFactory for persistence unit 'default'
2025-10-24 09:28:12 - Property 'userDn' not set - anonymous context will be used for read-only operations
2025-10-24 09:28:13 - 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-24 09:28:13 - 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-24 09:28:13 -
Using generated security password: 4dea95e5-e05d-43b8-a9c7-781dfaa42e82
This generated password is for development use only. Your security configuration must be updated before running your application in production.
2025-10-24 09:28:13 - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
2025-10-24 09:28:13 - Exposing 3 endpoints beneath base path '/actuator'
2025-10-24 09:28:13 - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
2025-10-24 09:28:14 - Adding {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2025-10-24 09:28:14 - Channel 'user.errorChannel' has 1 subscriber(s).
2025-10-24 09:28:14 - started bean '_org.springframework.integration.errorLogger'
2025-10-24 09:28:14 - Tomcat started on port 8081 (http) with context path '/'
2025-10-24 09:28:14 - Started UserApplication in 4.689 seconds (process running for 5.01)
2025-10-24 09:28:23 - Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-10-24 09:28:23 - Initializing Servlet 'dispatcherServlet'
2025-10-24 09:28:23 - Completed initialization in 1 ms
2025-10-24 09:28:23 - Securing GET /actuator/health
2025-10-24 09:28:23 - Set SecurityContextHolder to anonymous SecurityContext
2025-10-24 09:28:23 - Secured GET /actuator/health
+415
View File
@@ -0,0 +1,415 @@
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.3.5)
2025-10-24 09:26:46 - Starting UserApplication using Java 21.0.8 with PID 25117 (/Users/adela/home/workspace/recent/HGZero/user/build/libs/user.jar started by adela in /Users/adela/home/workspace/recent/HGZero/user)
2025-10-24 09:26:46 - Running with Spring Boot v3.3.5, Spring v6.1.14
2025-10-24 09:26:46 - The following 1 profile is active: "dev"
2025-10-24 09:26:46 - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-24 09:26:46 - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2025-10-24 09:26:46 - Finished Spring Data repository scanning in 76 ms. Found 1 JPA repository interface.
2025-10-24 09:26:46 - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-24 09:26:46 - Bootstrapping Spring Data LDAP repositories in DEFAULT mode.
2025-10-24 09:26:46 - Spring Data LDAP - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.user.repository.jpa.UserRepository; If you want this repository to be a LDAP repository, consider annotating your entities with one of these annotations: org.springframework.ldap.odm.annotations.Entry (preferred), or consider extending one of the following types with your repository: org.springframework.data.ldap.repository.LdapRepository
2025-10-24 09:26:46 - Finished Spring Data repository scanning in 2 ms. Found 0 LDAP repository interfaces.
2025-10-24 09:26:46 - Multiple Spring Data modules found, entering strict repository configuration mode
2025-10-24 09:26:46 - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2025-10-24 09:26:46 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.user.repository.jpa.UserRepository; 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-24 09:26:46 - Finished Spring Data repository scanning in 1 ms. Found 0 Redis repository interfaces.
2025-10-24 09:26:46 - No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.
2025-10-24 09:26:46 - No bean named 'integrationHeaderChannelRegistry' has been explicitly defined. Therefore, a default DefaultHeaderChannelRegistry will be created.
2025-10-24 09:26:47 - Tomcat initialized with port 8081 (http)
2025-10-24 09:26:47 - Starting service [Tomcat]
2025-10-24 09:26:47 - Starting Servlet engine: [Apache Tomcat/10.1.31]
2025-10-24 09:26:47 - Initializing Spring embedded WebApplicationContext
2025-10-24 09:26:47 - Root WebApplicationContext: initialization completed in 1466 ms
2025-10-24 09:26:47 - HHH000204: Processing PersistenceUnitInfo [name: default]
2025-10-24 09:26:47 - HHH000412: Hibernate ORM core version 6.5.3.Final
2025-10-24 09:26:47 - HHH000026: Second-level cache disabled
2025-10-24 09:26:47 - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@191b44ca
2025-10-24 09:26:47 - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@191b44ca
2025-10-24 09:26:47 - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@191b44ca
2025-10-24 09:26:47 - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@5de243bb
2025-10-24 09:26:47 - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@5de243bb
2025-10-24 09:26:47 - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@2c4cf7eb
2025-10-24 09:26:47 - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@2c4cf7eb
2025-10-24 09:26:47 - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@35260785
2025-10-24 09:26:47 - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@35260785
2025-10-24 09:26:47 - Adding type registration byte -> org.hibernate.type.BasicTypeReference@76d828ff
2025-10-24 09:26:47 - Adding type registration byte -> org.hibernate.type.BasicTypeReference@76d828ff
2025-10-24 09:26:47 - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@76d828ff
2025-10-24 09:26:47 - Adding type registration binary -> org.hibernate.type.BasicTypeReference@39685204
2025-10-24 09:26:47 - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@39685204
2025-10-24 09:26:47 - Adding type registration [B -> org.hibernate.type.BasicTypeReference@39685204
2025-10-24 09:26:47 - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@72d0196d
2025-10-24 09:26:47 - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@72d0196d
2025-10-24 09:26:47 - Adding type registration image -> org.hibernate.type.BasicTypeReference@77cf329d
2025-10-24 09:26:47 - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4067634b
2025-10-24 09:26:47 - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4067634b
2025-10-24 09:26:47 - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3b64f131
2025-10-24 09:26:47 - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@490d9c41
2025-10-24 09:26:47 - Adding type registration short -> org.hibernate.type.BasicTypeReference@47d81427
2025-10-24 09:26:47 - Adding type registration short -> org.hibernate.type.BasicTypeReference@47d81427
2025-10-24 09:26:47 - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@47d81427
2025-10-24 09:26:47 - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3c5e4aac
2025-10-24 09:26:47 - Adding type registration int -> org.hibernate.type.BasicTypeReference@3c5e4aac
2025-10-24 09:26:47 - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3c5e4aac
2025-10-24 09:26:47 - Adding type registration long -> org.hibernate.type.BasicTypeReference@20afd96f
2025-10-24 09:26:47 - Adding type registration long -> org.hibernate.type.BasicTypeReference@20afd96f
2025-10-24 09:26:47 - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@20afd96f
2025-10-24 09:26:47 - Adding type registration float -> org.hibernate.type.BasicTypeReference@565a6af
2025-10-24 09:26:47 - Adding type registration float -> org.hibernate.type.BasicTypeReference@565a6af
2025-10-24 09:26:47 - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@565a6af
2025-10-24 09:26:47 - Adding type registration double -> org.hibernate.type.BasicTypeReference@21bf308
2025-10-24 09:26:47 - Adding type registration double -> org.hibernate.type.BasicTypeReference@21bf308
2025-10-24 09:26:47 - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@21bf308
2025-10-24 09:26:47 - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4cded2cd
2025-10-24 09:26:47 - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4cded2cd
2025-10-24 09:26:47 - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@12e40e98
2025-10-24 09:26:47 - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@12e40e98
2025-10-24 09:26:47 - Adding type registration character -> org.hibernate.type.BasicTypeReference@3a9c92b5
2025-10-24 09:26:47 - Adding type registration char -> org.hibernate.type.BasicTypeReference@3a9c92b5
2025-10-24 09:26:47 - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@3a9c92b5
2025-10-24 09:26:47 - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@67c2b55d
2025-10-24 09:26:47 - Adding type registration string -> org.hibernate.type.BasicTypeReference@5db04bd2
2025-10-24 09:26:47 - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@5db04bd2
2025-10-24 09:26:47 - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@6f921e32
2025-10-24 09:26:47 - Adding type registration characters -> org.hibernate.type.BasicTypeReference@31c5304f
2025-10-24 09:26:47 - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@31c5304f
2025-10-24 09:26:47 - Adding type registration [C -> org.hibernate.type.BasicTypeReference@31c5304f
2025-10-24 09:26:47 - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@43df1377
2025-10-24 09:26:47 - Adding type registration text -> org.hibernate.type.BasicTypeReference@1cee3e05
2025-10-24 09:26:47 - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@63f2d024
2025-10-24 09:26:47 - Adding type registration clob -> org.hibernate.type.BasicTypeReference@7b2dd35d
2025-10-24 09:26:47 - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@7b2dd35d
2025-10-24 09:26:47 - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@405223e4
2025-10-24 09:26:47 - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@405223e4
2025-10-24 09:26:47 - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@2d2133fd
2025-10-24 09:26:47 - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@58a7a58d
2025-10-24 09:26:47 - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@4d8522ff
2025-10-24 09:26:47 - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@1c9975a8
2025-10-24 09:26:47 - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@3883031d
2025-10-24 09:26:47 - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@5d6d424d
2025-10-24 09:26:47 - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@391b01c5
2025-10-24 09:26:47 - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@391b01c5
2025-10-24 09:26:47 - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@6e78177b
2025-10-24 09:26:47 - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@6e78177b
2025-10-24 09:26:47 - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@4ec37a42
2025-10-24 09:26:47 - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@4ec37a42
2025-10-24 09:26:47 - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@798b36fd
2025-10-24 09:26:47 - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@798b36fd
2025-10-24 09:26:47 - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@18ff1520
2025-10-24 09:26:47 - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@18ff1520
2025-10-24 09:26:47 - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@36120a8b
2025-10-24 09:26:47 - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@63d66761
2025-10-24 09:26:47 - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@434a8938
2025-10-24 09:26:47 - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@434a8938
2025-10-24 09:26:47 - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@237cd264
2025-10-24 09:26:47 - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@51cd2d2
2025-10-24 09:26:47 - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5521407f
2025-10-24 09:26:47 - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@42b500aa
2025-10-24 09:26:47 - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@42b500aa
2025-10-24 09:26:47 - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@71f056a
2025-10-24 09:26:47 - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@64f6dd19
2025-10-24 09:26:47 - Adding type registration date -> org.hibernate.type.BasicTypeReference@3b8b5b40
2025-10-24 09:26:47 - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@3b8b5b40
2025-10-24 09:26:47 - Adding type registration time -> org.hibernate.type.BasicTypeReference@5151accb
2025-10-24 09:26:47 - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@5151accb
2025-10-24 09:26:47 - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@2e1ad7de
2025-10-24 09:26:47 - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@2e1ad7de
2025-10-24 09:26:47 - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@2e1ad7de
2025-10-24 09:26:47 - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@7c56c911
2025-10-24 09:26:47 - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@7c56c911
2025-10-24 09:26:47 - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@7c56c911
2025-10-24 09:26:47 - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@1de6dc80
2025-10-24 09:26:47 - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@418d1c03
2025-10-24 09:26:47 - Adding type registration instant -> org.hibernate.type.BasicTypeReference@395197cb
2025-10-24 09:26:47 - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@395197cb
2025-10-24 09:26:47 - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@7305cfb1
2025-10-24 09:26:47 - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@7305cfb1
2025-10-24 09:26:47 - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@7305cfb1
2025-10-24 09:26:47 - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@582c1f8d
2025-10-24 09:26:47 - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@71687d8f
2025-10-24 09:26:47 - Adding type registration class -> org.hibernate.type.BasicTypeReference@443253a6
2025-10-24 09:26:47 - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@443253a6
2025-10-24 09:26:47 - Adding type registration currency -> org.hibernate.type.BasicTypeReference@191774d6
2025-10-24 09:26:47 - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@191774d6
2025-10-24 09:26:47 - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@191774d6
2025-10-24 09:26:47 - Adding type registration locale -> org.hibernate.type.BasicTypeReference@21ffc00e
2025-10-24 09:26:47 - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@21ffc00e
2025-10-24 09:26:47 - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@134955bb
2025-10-24 09:26:47 - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@134955bb
2025-10-24 09:26:47 - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@45b08b17
2025-10-24 09:26:47 - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@45b08b17
2025-10-24 09:26:47 - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@6723e6b3
2025-10-24 09:26:47 - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@6723e6b3
2025-10-24 09:26:47 - Adding type registration url -> org.hibernate.type.BasicTypeReference@3883b5e9
2025-10-24 09:26:47 - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@3883b5e9
2025-10-24 09:26:47 - Adding type registration vector -> org.hibernate.type.BasicTypeReference@61becbcf
2025-10-24 09:26:47 - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@20171cdc
2025-10-24 09:26:47 - Adding type registration object -> org.hibernate.type.JavaObjectType@719bb60d
2025-10-24 09:26:47 - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@719bb60d
2025-10-24 09:26:47 - Adding type registration null -> org.hibernate.type.NullType@3855b27e
2025-10-24 09:26:47 - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@5305f936
2025-10-24 09:26:47 - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@7d90764a
2025-10-24 09:26:47 - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@6843fdc4
2025-10-24 09:26:47 - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@147375b3
2025-10-24 09:26:47 - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@6f430ea8
2025-10-24 09:26:47 - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@119f072c
2025-10-24 09:26:47 - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@66456506
2025-10-24 09:26:47 - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@69944a90
2025-10-24 09:26:47 - No LoadTimeWeaver setup: ignoring JPA class transformer
2025-10-24 09:26:47 - HikariPool-1 - Starting...
2025-10-24 09:26:48 - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@7d15c513
2025-10-24 09:26:48 - HikariPool-1 - Start completed.
2025-10-24 09:26:48 - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
2025-10-24 09:26:48 - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@74bcf1ab) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@a11efe6)
2025-10-24 09:26:48 - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@5e6bbe63) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@69356aca)
2025-10-24 09:26:48 - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
2025-10-24 09:26:48 - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
2025-10-24 09:26:48 - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@4bcf08ae
2025-10-24 09:26:48 - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@4bcf08ae
2025-10-24 09:26:48 - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@719bb60d`
2025-10-24 09:26:48 - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
2025-10-24 09:26:48 - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
2025-10-24 09:26:48 - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
2025-10-24 09:26:48 - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-24 09:26:48 - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-24 09:26:48 - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
2025-10-24 09:26:48 - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-24 09:26:48 - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-24 09:26:48 - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
2025-10-24 09:26:48 - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
2025-10-24 09:26:48 - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-24 09:26:48 - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
2025-10-24 09:26:48 - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@3f838072] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@46c9ee28]
2025-10-24 09:26:48 - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
2025-10-24 09:26:48 - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@3f838072] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@58df431e]
2025-10-24 09:26:48 - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@58df431e] for TypeConfiguration
2025-10-24 09:26:48 - Initialized JPA EntityManagerFactory for persistence unit 'default'
2025-10-24 09:26:48 - Property 'userDn' not set - anonymous context will be used for read-only operations
2025-10-24 09:26:48 - 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-24 09:26:49 - 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-24 09:26:49 -
Using generated security password: 33ac1b3a-354c-440f-9dd7-091fe188ba83
This generated password is for development use only. Your security configuration must be updated before running your application in production.
2025-10-24 09:26:49 - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
2025-10-24 09:26:49 - Exposing 3 endpoints beneath base path '/actuator'
2025-10-24 09:26:49 - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
2025-10-24 09:26:50 - Adding {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2025-10-24 09:26:50 - Channel 'user.errorChannel' has 1 subscriber(s).
2025-10-24 09:26:50 - started bean '_org.springframework.integration.errorLogger'
2025-10-24 09:26:50 - Tomcat started on port 8081 (http) with context path '/'
2025-10-24 09:26:50 - Started UserApplication in 4.527 seconds (process running for 4.818)
2025-10-24 09:27:16 - Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-10-24 09:27:16 - Initializing Servlet 'dispatcherServlet'
2025-10-24 09:27:16 - Completed initialization in 3 ms
2025-10-24 09:27:16 - Securing GET /actuator/health
2025-10-24 09:27:16 - Set SecurityContextHolder to anonymous SecurityContext
2025-10-24 09:27:16 - Secured GET /actuator/health
2025-10-24 09:27:17 - LDAP health check failed
org.springframework.ldap.CommunicationException: ldap.example.com:636
at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:107)
at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:362)
at org.springframework.ldap.core.support.AbstractContextSource.getReadOnlyContext(AbstractContextSource.java:172)
at org.springframework.ldap.core.LdapTemplate.executeReadOnly(LdapTemplate.java:789)
at org.springframework.boot.actuate.ldap.LdapHealthIndicator.doHealthCheck(LdapHealthIndicator.java:50)
at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:82)
at org.springframework.boot.actuate.health.HealthIndicator.getHealth(HealthIndicator.java:37)
at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:94)
at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:47)
at org.springframework.boot.actuate.health.HealthEndpointSupport.getLoggedHealth(HealthEndpointSupport.java:172)
at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:145)
at org.springframework.boot.actuate.health.HealthEndpointSupport.getAggregateContribution(HealthEndpointSupport.java:156)
at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:141)
at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:110)
at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:81)
at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:80)
at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:69)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:281)
at org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:74)
at org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation.invoke(AbstractDiscoveredOperation.java:60)
at org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$ServletWebOperationAdapter.handle(AbstractWebMvcEndpointHandlerMapping.java:327)
at org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(AbstractWebMvcEndpointHandlerMapping.java:434)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340)
at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128)
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: javax.naming.CommunicationException: ldap.example.com:636
at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:251)
at java.naming/com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:141)
at java.naming/com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1620)
at java.naming/com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2848)
at java.naming/com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:349)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxFromUrl(LdapCtxFactory.java:229)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:189)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:247)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:520)
at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
at java.naming/javax.naming.InitialContext.init(InitialContext.java:236)
at java.naming/javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154)
at org.springframework.ldap.core.support.LdapContextSource.getDirContextInstance(LdapContextSource.java:44)
at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:350)
... 153 common frames omitted
Caused by: java.net.UnknownHostException: ldap.example.com
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:567)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:751)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
at java.base/sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:163)
at java.base/sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:86)
at java.naming/com.sun.jndi.ldap.Connection.createConnectionSocket(Connection.java:350)
at java.naming/com.sun.jndi.ldap.Connection.createSocket(Connection.java:283)
at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:230)
... 168 common frames omitted
2025-10-24 09:27:18 - Securing GET /swagger-ui.html
2025-10-24 09:27:18 - Set SecurityContextHolder to anonymous SecurityContext
2025-10-24 09:27:18 - Secured GET /swagger-ui.html
2025-10-24 09:27:51 - Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2025-10-24 09:27:51 - Channel 'user.errorChannel' has 0 subscriber(s).
2025-10-24 09:27:51 - stopped bean '_org.springframework.integration.errorLogger'
2025-10-24 09:27:51 - Closing JPA EntityManagerFactory for persistence unit 'default'
2025-10-24 09:27:51 - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@58df431e] for TypeConfiguration
2025-10-24 09:27:51 - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@c7b775] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@58df431e]
2025-10-24 09:27:51 - HikariPool-1 - Shutdown initiated...
2025-10-24 09:27:51 - HikariPool-1 - Shutdown completed.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,44 @@
package com.unicorn.hgzero.user.config;
import com.azure.messaging.eventhubs.EventHubProducerClient;
import com.azure.messaging.eventhubs.EventHubClientBuilder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Azure EventHub 설정
* 사용자 인증 관련 이벤트 발행을 위한 EventHub 설정
*/
@Slf4j
@Configuration
public class EventHubConfig {
@Value("${spring.cloud.azure.eventhub.connection-string:}")
private String connectionString;
@Value("${spring.cloud.azure.eventhub.name:hgzero-eventhub-name}")
private String eventHubName;
/**
* EventHub Producer Client 빈 생성
* 연결 문자열이 있을 때만 생성
*/
@Bean
@ConditionalOnExpression("'${spring.cloud.azure.eventhub.connection-string:}'.length() > 0")
public EventHubProducerClient eventHubProducerClient() {
try {
EventHubProducerClient client = new EventHubClientBuilder()
.connectionString(connectionString, eventHubName)
.buildProducerClient();
log.info("EventHub Producer Client 생성 완료: {}", eventHubName);
return client;
} catch (Exception e) {
log.error("EventHub Producer Client 생성 실패: {}", e.getMessage());
throw new RuntimeException("EventHub Producer Client 생성 실패", e);
}
}
}
@@ -46,7 +46,7 @@ public class JwtTokenProvider {
public boolean validateToken(String token) {
try {
Jwts.parser()
.setSigningKey(secretKey)
.verifyWith(secretKey)
.build()
.parseClaimsJws(token);
return true;
@@ -67,7 +67,7 @@ public class JwtTokenProvider {
*/
public String getUserId(String token) {
Claims claims = Jwts.parser()
.setSigningKey(secretKey)
.verifyWith(secretKey)
.build()
.parseClaimsJws(token)
.getBody();
@@ -80,7 +80,7 @@ public class JwtTokenProvider {
*/
public String getUsername(String token) {
Claims claims = Jwts.parser()
.setSigningKey(secretKey)
.verifyWith(secretKey)
.build()
.parseClaimsJws(token)
.getBody();
@@ -93,7 +93,7 @@ public class JwtTokenProvider {
*/
public String getAuthority(String token) {
Claims claims = Jwts.parser()
.setSigningKey(secretKey)
.verifyWith(secretKey)
.build()
.parseClaimsJws(token)
.getBody();
@@ -107,7 +107,7 @@ public class JwtTokenProvider {
public boolean isTokenExpired(String token) {
try {
Claims claims = Jwts.parser()
.setSigningKey(secretKey)
.verifyWith(secretKey)
.build()
.parseClaimsJws(token)
.getBody();
@@ -123,7 +123,7 @@ public class JwtTokenProvider {
*/
public Date getExpirationDate(String token) {
Claims claims = Jwts.parser()
.setSigningKey(secretKey)
.verifyWith(secretKey)
.build()
.parseClaimsJws(token)
.getBody();
@@ -0,0 +1,33 @@
package com.unicorn.hgzero.user.service;
/**
* 이벤트 발행 서비스 인터페이스
* 사용자 인증 관련 이벤트를 외부 시스템에 발행
*/
public interface EventPublishService {
/**
* 로그인 이벤트 발행
*
* @param userId 사용자 ID
* @param username 사용자명
* @param timestamp 로그인 시각
*/
void publishLoginEvent(String userId, String username, long timestamp);
/**
* 로그아웃 이벤트 발행
*
* @param userId 사용자 ID
* @param timestamp 로그아웃 시각
*/
void publishLogoutEvent(String userId, long timestamp);
/**
* 토큰 갱신 이벤트 발행
*
* @param userId 사용자 ID
* @param timestamp 토큰 갱신 시각
*/
void publishTokenRefreshEvent(String userId, long timestamp);
}
@@ -0,0 +1,89 @@
package com.unicorn.hgzero.user.service;
import com.azure.messaging.eventhubs.EventData;
import com.azure.messaging.eventhubs.EventHubProducerClient;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.stereotype.Service;
import java.time.Instant;
import java.util.HashMap;
import java.util.Map;
/**
* 이벤트 발행 서비스 구현체
* Azure EventHub를 통한 사용자 인증 이벤트 발행
*/
@Slf4j
@Service
@RequiredArgsConstructor
@ConditionalOnBean(EventHubProducerClient.class)
public class EventPublishServiceImpl implements EventPublishService {
private final EventHubProducerClient eventHubProducerClient;
private final ObjectMapper objectMapper = new ObjectMapper();
@Override
public void publishLoginEvent(String userId, String username, long timestamp) {
Map<String, Object> eventData = new HashMap<>();
eventData.put("eventType", "USER_LOGIN");
eventData.put("userId", userId);
eventData.put("username", username);
eventData.put("timestamp", timestamp);
eventData.put("eventTime", Instant.ofEpochMilli(timestamp).toString());
publishEvent(eventData, "로그인 이벤트");
}
@Override
public void publishLogoutEvent(String userId, long timestamp) {
Map<String, Object> eventData = new HashMap<>();
eventData.put("eventType", "USER_LOGOUT");
eventData.put("userId", userId);
eventData.put("timestamp", timestamp);
eventData.put("eventTime", Instant.ofEpochMilli(timestamp).toString());
publishEvent(eventData, "로그아웃 이벤트");
}
@Override
public void publishTokenRefreshEvent(String userId, long timestamp) {
Map<String, Object> eventData = new HashMap<>();
eventData.put("eventType", "TOKEN_REFRESH");
eventData.put("userId", userId);
eventData.put("timestamp", timestamp);
eventData.put("eventTime", Instant.ofEpochMilli(timestamp).toString());
publishEvent(eventData, "토큰 갱신 이벤트");
}
/**
* EventHub로 이벤트 발행
*
* @param eventData 이벤트 데이터
* @param eventDescription 이벤트 설명 (로깅용)
*/
private void publishEvent(Map<String, Object> eventData, String eventDescription) {
if (eventHubProducerClient == null) {
log.debug("EventHub Producer Client가 없어 {} 발행을 건너뜀", eventDescription);
return;
}
try {
String jsonData = objectMapper.writeValueAsString(eventData);
EventData event = new EventData(jsonData);
// EventData를 Iterable로 감싸서 전송
eventHubProducerClient.send(java.util.Collections.singletonList(event));
log.debug("{} 발행 완료: {}", eventDescription, eventData.get("userId"));
} catch (JsonProcessingException e) {
log.error("{} JSON 변환 실패: {}", eventDescription, e.getMessage());
} catch (Exception e) {
log.error("{} 발행 실패: {}", eventDescription, e.getMessage());
}
}
}
@@ -0,0 +1,30 @@
package com.unicorn.hgzero.user.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.stereotype.Service;
/**
* No-Op 이벤트 발행 서비스
* EventHub가 설정되지 않은 경우 사용되는 기본 구현체
*/
@Slf4j
@Service
@ConditionalOnMissingBean(EventPublishServiceImpl.class)
public class NoOpEventPublishService implements EventPublishService {
@Override
public void publishLoginEvent(String userId, String username, long timestamp) {
log.debug("EventHub 미설정으로 로그인 이벤트 발행 건너뜀: userId={}", userId);
}
@Override
public void publishLogoutEvent(String userId, long timestamp) {
log.debug("EventHub 미설정으로 로그아웃 이벤트 발행 건너뜀: userId={}", userId);
}
@Override
public void publishTokenRefreshEvent(String userId, long timestamp) {
log.debug("EventHub 미설정으로 토큰 갱신 이벤트 발행 건너뜀: userId={}", userId);
}
}
@@ -41,6 +41,7 @@ public class UserServiceImpl implements UserService {
private final UserRepository userRepository;
private final JwtTokenProvider jwtTokenProvider;
private final RedisTemplate<String, String> redisTemplate;
private final EventPublishService eventPublishService;
@Value("${jwt.secret}")
private String jwtSecret;
@@ -123,6 +124,9 @@ public class UserServiceImpl implements UserService {
saveRefreshToken(user.getUserId(), refreshToken);
log.info("로그인 성공: userId={}", request.getUserId());
// 로그인 이벤트 발행
eventPublishService.publishLoginEvent(user.getUserId(), user.getUsername(), System.currentTimeMillis());
return LoginResponse.builder()
.accessToken(accessToken)
@@ -173,6 +177,9 @@ public class UserServiceImpl implements UserService {
String newAccessToken = generateAccessToken(user);
log.info("토큰 갱신 성공: userId={}", userId);
// 토큰 갱신 이벤트 발행
eventPublishService.publishTokenRefreshEvent(userId, System.currentTimeMillis());
return RefreshTokenResponse.builder()
.accessToken(newAccessToken)
@@ -191,6 +198,9 @@ public class UserServiceImpl implements UserService {
// Redis에서 Refresh Token 삭제
deleteRefreshToken(userId);
// 로그아웃 이벤트 발행
eventPublishService.publishLogoutEvent(userId, System.currentTimeMillis());
log.info("로그아웃 완료: userId={}", userId);
}
+15 -8
View File
@@ -8,7 +8,7 @@ spring:
datasource:
url: jdbc:${DB_KIND:postgresql}://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:userdb}
username: ${DB_USERNAME:hgzerouser}
password: ${DB_PASSWORD:}
password: ${DB_PASSWORD:Hi5Jessica!}
driver-class-name: org.postgresql.Driver
hikari:
maximum-pool-size: 20
@@ -25,8 +25,13 @@ spring:
hibernate:
format_sql: true
use_sql_comments: true
dialect: org.hibernate.dialect.PostgreSQLDialect
jdbc:
time_zone: UTC
hibernate:
ddl-auto: ${JPA_DDL_AUTO:update}
database: postgresql
database-platform: org.hibernate.dialect.PostgreSQLDialect
# Redis Configuration
data:
@@ -43,13 +48,13 @@ spring:
max-wait: -1ms
database: ${REDIS_DATABASE:0}
# LDAP Configuration
ldap:
urls: ${LDAP_URLS:ldaps://ldap.example.com:636}
base: ${LDAP_BASE:dc=example,dc=com}
username: ${LDAP_USERNAME:}
password: ${LDAP_PASSWORD:}
user-dn-pattern: ${LDAP_USER_DN_PATTERN:uid={0},ou=people}
# LDAP Configuration (비활성화 for development)
# ldap:
# urls: ${LDAP_URLS:ldaps://ldap.example.com:636}
# base: ${LDAP_BASE:dc=example,dc=com}
# username: ${LDAP_USERNAME:}
# password: ${LDAP_PASSWORD:}
# user-dn-pattern: ${LDAP_USER_DN_PATTERN:uid={0},ou=people}
# Event Configuration (Azure EventHub)
cloud:
@@ -96,6 +101,8 @@ management:
enabled: true
readinessState:
enabled: true
ldap:
enabled: false
# OpenAPI Documentation
springdoc: