From 351f9303f20d5745770c7d2d90c95b8f3813bfbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dean=5B=EB=B0=B1=EB=B3=91=EB=82=A8=5D?= Date: Mon, 24 Nov 2025 16:09:07 +0900 Subject: [PATCH 1/4] feat: format error --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8fed8d34..1a459e87 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,5 @@ docker-compose.override.yml *.swp *.swo *~ +!/CLAUDE.md +!/app.log From c2be5d93b184028e37aa1b798714d49b41536b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dean=5B=EB=B0=B1=EB=B3=91=EB=82=A8=5D?= Date: Mon, 24 Nov 2025 16:32:24 +0900 Subject: [PATCH 2/4] test mount --- app.log | 339 ++++++++++++++++++ docker-compose-dev.yml | 6 +- .../common/api/NfsTestApiController.java | 94 +++++ 3 files changed, 438 insertions(+), 1 deletion(-) create mode 100644 app.log create mode 100644 src/main/java/com/kamco/cd/kamcoback/common/api/NfsTestApiController.java diff --git a/app.log b/app.log new file mode 100644 index 00000000..362ccb85 --- /dev/null +++ b/app.log @@ -0,0 +1,339 @@ +> Task :compileJava UP-TO-DATE +> Task :processResources UP-TO-DATE +> Task :classes UP-TO-DATE +> Task :resolveMainClassName UP-TO-DATE + +> Task :bootRun + + . ____ _ __ _ _ + /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ +( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ + \\/ ___)| |_)| | | | | || (_| | ) ) ) ) + ' |____| .__|_| |_|_| |_\__, | / / / / + =========|_|==============|___/=/_/_/_/ + + :: Spring Boot :: (v3.5.7) + +2025-11-17T15:12:06.577+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.KamcoBackApplication : Starting KamcoBackApplication using Java 21.0.9 with PID 30614 (/Users/d-pn-0105/dev/kamco/kamco-back/build/classes/java/main started by d-pn-0105 in /Users/d-pn-0105/dev/kamco/kamco-back) +2025-11-17T15:12:06.579+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.KamcoBackApplication : The following 1 profile is active: "local" +2025-11-17T15:12:07.430+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-17T15:12:07.510+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 71 ms. Found 2 JPA repository interfaces. +2025-11-17T15:12:07.852+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-11-17T15:12:07.869+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-11-17T15:12:07.870+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.48] +2025-11-17T15:12:07.909+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-11-17T15:12:07.909+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1309 ms +2025-11-17T15:12:07.987+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] o.s.w.f.ServerHttpObservationFilter : Filter 'webMvcObservationFilter' configured for use +2025-11-17T15:12:08.086+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-17T15:12:08.119+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.33.Final +2025-11-17T15:12:08.137+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-11-17T15:12:08.303+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-11-17T15:12:08.319+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-11-17T15:12:08.414+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@454e9d65 +2025-11-17T15:12:08.415+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-11-17T15:12:08.477+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 15.4 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-11-17T15:12:08.938+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-11-17T15:12:09.000+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-17T15:12:09.256+09:00 WARN 30614 --- [kamco-change-detection-api] [ main] 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-11-17T15:12:09.281+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2025-11-17T15:12:09.322+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : 15 mappings in 'requestMappingHandlerMapping' +2025-11-17T15:12:09.347+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' +2025-11-17T15:12:09.370+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 2 ResponseBodyAdvice +2025-11-17T15:12:09.400+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 2 ResponseBodyAdvice +2025-11-17T15:12:09.572+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint beneath base path '/monitor' +2025-11-17T15:12:09.615+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-11-17T15:12:09.625+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.KamcoBackApplication : Started KamcoBackApplication in 3.396 seconds (process running for 3.623) +2025-11-17T15:12:09.673+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.config.StartupLogger : +╔════════════════════════════════════════════════════════════════════════════════╗ +║ 🚀 APPLICATION STARTUP INFORMATION ║ +╠════════════════════════════════════════════════════════════════════════════════╣ +║ PROFILE CONFIGURATION ║ +╠────────────────────────────────────────────────────────────────────────────────╣ +│ Active Profile(s): local +╠════════════════════════════════════════════════════════════════════════════════╣ +║ DATABASE CONFIGURATION ║ +╠────────────────────────────────────────────────────────────────────────────────╣ +│ Database URL : jdbc:postgresql://192.168.2.127:15432/kamco_cds +│ Username : kamco_cds +│ Driver : org.postgresql.Driver +╠════════════════════════════════════════════════════════════════════════════════╣ +║ HIKARICP CONNECTION POOL ║ +╠────────────────────────────────────────────────────────────────────────────────╣ +│ Pool Size : min=1, max=5 +│ Connection Timeout: 20000ms +│ Idle Timeout : 300000ms +│ Max Lifetime : 1800000ms +╠════════════════════════════════════════════════════════════════════════════════╣ +║ JPA/HIBERNATE CONFIGURATION ║ +╠────────────────────────────────────────────────────────────────────────────────╣ +│ Show SQL : true +│ DDL Auto : validate +│ JDBC Batch Size : 50 +│ Fetch Batch Size : 100 +╚════════════════════════════════════════════════════════════════════════════════╝ + +2025-11-17T15:13:44.445+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-11-17T15:13:44.446+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-11-17T15:13:44.447+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-11-17T15:13:44.447+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-11-17T15:13:44.447+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-11-17T15:13:44.453+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@3c3357c7 +2025-11-17T15:13:44.454+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@f36c8b1 +2025-11-17T15:13:44.454+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-11-17T15:13:44.454+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 8 ms +2025-11-17T15:13:44.469+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/v1/api/animals", parameters={} +2025-11-17T15:13:44.473+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#createAnimal(AddReq) +2025-11-17T15:13:44.541+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [com.kamco.cd.kamcoback.zoo.dto.AnimalDto$AddReq@6c60ff23] +Hibernate: + /* select + zooEntity + from + ZooEntity zooEntity + where + zooEntity.uuid = ?1 + and zooEntity.isDeleted = ?2 */ select + ze1_0.uid, + ze1_0.created_date, + ze1_0.description, + ze1_0.is_deleted, + ze1_0.location, + ze1_0.modified_date, + ze1_0.name, + ze1_0.uuid + from + tb_zoo ze1_0 + where + ze1_0.uuid=? + and ze1_0.is_deleted=? +Hibernate: + /* insert for + com.kamco.cd.kamcoback.postgres.entity.AnimalEntity */insert + into + tb_animal (category, created_date, is_deleted, modified_date, name, species, uuid, zoo_id) + values + (?, ?, ?, ?, ?, ?, ?, ?) +2025-11-17T15:13:44.875+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] +2025-11-17T15:13:44.875+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [ApiResponseDto(data=com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Basic@7f1b32d5, error=null, errorData=n (truncated)...] +2025-11-17T15:13:44.885+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 201 CREATED +2025-11-17T15:14:02.505+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/api/animals/550e8400-e29b-41d4-a716-4466554400023c0f9b5-f22e-46e9-87d1-c3e84bd964520", parameters={} +2025-11-17T15:14:02.506+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#getAnimal(String) +2025-11-17T15:14:02.535+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Failed to complete request: org.springframework.dao.InvalidDataAccessApiUsageException: UUID string too large +2025-11-17T15:14:02.535+09:00 ERROR 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.InvalidDataAccessApiUsageException: UUID string too large] with root cause + +java.lang.IllegalArgumentException: UUID string too large + at java.base/java.util.UUID.fromString1(UUID.java:266) ~[na:na] + at java.base/java.util.UUID.fromString(UUID.java:260) ~[na:na] + at com.kamco.cd.kamcoback.postgres.repository.AnimalRepositoryImpl.getAnimalByUuid(AnimalRepositoryImpl.java:39) ~[main/:na] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) ~[spring-aop-6.2.12.jar:6.2.12] + at com.kamco.cd.kamcoback.postgres.repository.AnimalRepositoryImpl$$SpringCGLIB$$0.getAnimalByUuid() ~[main/:na] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:277) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:515) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:284) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:734) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:174) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:149) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:69) ~[spring-data-commons-3.5.5.jar:3.5.5] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:165) ~[spring-data-jpa-3.5.5.jar:3.5.5] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.2.12.jar:6.2.12] + at jdk.proxy2/jdk.proxy2.$Proxy157.getAnimalByUuid(Unknown Source) ~[na:na] + at com.kamco.cd.kamcoback.postgres.core.AnimalCoreService.getDataByUuid(AnimalCoreService.java:28) ~[main/:na] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) ~[spring-aop-6.2.12.jar:6.2.12] + at com.kamco.cd.kamcoback.postgres.core.AnimalCoreService$$SpringCGLIB$$0.getDataByUuid() ~[main/:na] + at com.kamco.cd.kamcoback.zoo.service.AnimalService.getAnimalByUuid(AnimalService.java:19) ~[main/:na] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) ~[spring-aop-6.2.12.jar:6.2.12] + at com.kamco.cd.kamcoback.zoo.service.AnimalService$$SpringCGLIB$$0.getAnimalByUuid() ~[main/:na] + at com.kamco.cd.kamcoback.zoo.AnimalApiController.getAnimal(AnimalApiController.java:96) ~[main/:na] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) ~[spring-web-6.2.12.jar:6.2.12] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) ~[spring-web-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) ~[spring-webmvc-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) ~[spring-webmvc-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.12.jar:6.2.12] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.12.jar:6.2.12] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.48.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.12.jar:6.2.12] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.48.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.48.jar:10.1.48] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.12.jar:6.2.12] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.12.jar:6.2.12] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) ~[spring-web-6.2.12.jar:6.2.12] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.12.jar:6.2.12] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.48.jar:10.1.48] + at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] + +2025-11-17T15:14:02.543+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={} +2025-11-17T15:14:02.543+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest) +2025-11-17T15:14:02.549+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] +2025-11-17T15:14:02.550+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Mon Nov 17 15:14:02 KST 2025, status=500, error=Internal Server Error, path=/api/animals/ (truncated)...] +2025-11-17T15:14:02.556+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 500 +2025-11-17T15:14:27.293+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/v3/api-docs", parameters={} +2025-11-17T15:14:27.308+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springdoc.webmvc.api.OpenApiWebMvcResource#openapiJson(HttpServletRequest, String, Locale) +2025-11-17T15:14:27.673+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] o.springdoc.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 355 ms +2025-11-17T15:14:27.681+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2025-11-17T15:14:27.682+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] m.m.a.RequestResponseBodyMethodProcessor : Writing [{123, 34, 111, 112, 101, 110, 97, 112, 105, 34, 58, 34, 51, 46, 48, 46, 49, 34, 44, 34, 105, 110, 10 (truncated)...] +2025-11-17T15:14:27.683+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-11-17T15:14:38.080+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/api/animals/23c0f9b5-f22e-46e9-87d1-c3e84bd96452", parameters={} +2025-11-17T15:14:38.087+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#getAnimal(String) +Hibernate: + /* select + animalEntity + from + AnimalEntity animalEntity + where + animalEntity.uuid = ?1 */ select + ae1_0.uid, + ae1_0.category, + ae1_0.created_date, + ae1_0.is_deleted, + ae1_0.modified_date, + ae1_0.name, + ae1_0.species, + ae1_0.uuid, + ae1_0.zoo_id + from + tb_animal ae1_0 + where + ae1_0.uuid=? + fetch + first ? rows only +Hibernate: + /* select + animalEntity + from + AnimalEntity animalEntity + where + animalEntity.uid = ?1 */ select + ae1_0.uid, + ae1_0.category, + ae1_0.created_date, + ae1_0.is_deleted, + ae1_0.modified_date, + ae1_0.name, + ae1_0.species, + ae1_0.uuid, + ae1_0.zoo_id + from + tb_animal ae1_0 + where + ae1_0.uid=? + fetch + first ? rows only +2025-11-17T15:14:38.210+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] +2025-11-17T15:14:38.210+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Writing [ApiResponseDto(data=com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Basic@3495d79f, error=null, errorData=n (truncated)...] +2025-11-17T15:14:38.211+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-11-17T15:16:12.160+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : POST "/v1/api/animals", parameters={} +2025-11-17T15:16:12.163+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#createAnimal(AddReq) +2025-11-17T15:16:12.181+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.method.HandlerMethod : Could not resolve parameter [0] in public com.kamco.cd.kamcoback.config.api.ApiResponseDto com.kamco.cd.kamcoback.zoo.AnimalApiController.createAnimal(com.kamco.cd.kamcoback.zoo.dto.AnimalDto$AddReq): JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE] +2025-11-17T15:16:12.183+09:00 WARN 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE]] +2025-11-17T15:16:12.183+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 400 BAD_REQUEST +2025-11-17T15:16:12.184+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST "/error", parameters={} +2025-11-17T15:16:12.184+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest) +2025-11-17T15:16:12.185+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] +2025-11-17T15:16:12.185+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Mon Nov 17 15:16:12 KST 2025, status=400, error=Bad Request, path=/v1/api/animals}] +2025-11-17T15:16:12.186+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 400 +2025-11-17T15:16:24.064+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : POST "/v1/api/animals", parameters={} +2025-11-17T15:16:24.064+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#createAnimal(AddReq) +2025-11-17T15:16:24.067+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.method.HandlerMethod : Could not resolve parameter [0] in public com.kamco.cd.kamcoback.config.api.ApiResponseDto com.kamco.cd.kamcoback.zoo.AnimalApiController.createAnimal(com.kamco.cd.kamcoback.zoo.dto.AnimalDto$AddReq): JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE] +2025-11-17T15:16:24.084+09:00 WARN 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE]] +2025-11-17T15:16:24.084+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 400 BAD_REQUEST +2025-11-17T15:16:24.091+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST "/error", parameters={} +2025-11-17T15:16:24.092+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest) +2025-11-17T15:16:24.093+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] +2025-11-17T15:16:24.093+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Mon Nov 17 15:16:24 KST 2025, status=400, error=Bad Request, path=/v1/api/animals}] +2025-11-17T15:16:24.094+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 400 + +> Task :bootRun FAILED + +FAILURE: Build failed with an exception. + +* What went wrong: +Execution failed for task ':bootRun'. +> Process 'command '/Library/Java/JavaVirtualMachines/amazon-corretto-21.jdk/Contents/Home/bin/java'' finished with non-zero exit value 137 + +* Try: +> Run with --stacktrace option to get the stack trace. +> Run with --info or --debug option to get more log output. +> Run with --scan to get full insights. +> Get more help at https://help.gradle.org. + +BUILD FAILED in 4m 52s +4 actionable tasks: 1 executed, 3 up-to-date diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index b36438cb..107547b6 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -10,11 +10,15 @@ services: environment: - SPRING_PROFILES_ACTIVE=dev - TZ=Asia/Seoul + volumes: + - /mnt/nfs_share/images:/app/original-images + - /mnt/nfs_share/model_output:/app/model-outputs + - /mnt/nfs_share/train_dataset:/app/train-dataset networks: - kamco-cds restart: unless-stopped healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/monitor/health"] + test: [ "CMD", "curl", "-f", "http://localhost:8080/monitor/health" ] interval: 10s timeout: 5s retries: 5 diff --git a/src/main/java/com/kamco/cd/kamcoback/common/api/NfsTestApiController.java b/src/main/java/com/kamco/cd/kamcoback/common/api/NfsTestApiController.java new file mode 100644 index 00000000..c4bf90cd --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/common/api/NfsTestApiController.java @@ -0,0 +1,94 @@ +package com.kamco.cd.kamcoback.common.api; + +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/api/nfs-test") +public class NfsTestApiController { + + private static final String ORIGINAL_IMAGES_PATH = "/app/original-images"; + private static final String MODEL_OUTPUTS_PATH = "/app/model-outputs"; + private static final String TRAIN_DATASET_PATH = "/app/train-dataset"; + + @GetMapping("/original-images") + public Map listOriginalImages() { + return listDirectory(ORIGINAL_IMAGES_PATH); + } + + @GetMapping("/model-outputs") + public Map listModelOutputs() { + return listDirectory(MODEL_OUTPUTS_PATH); + } + + @GetMapping("/train-dataset") + public Map listTrainDataset() { + return listDirectory(TRAIN_DATASET_PATH); + } + + @GetMapping("/all") + public Map listAllDirectories() { + Map result = new HashMap<>(); + result.put("originalImages", listDirectory(ORIGINAL_IMAGES_PATH)); + result.put("modelOutputs", listDirectory(MODEL_OUTPUTS_PATH)); + result.put("trainDataset", listDirectory(TRAIN_DATASET_PATH)); + return result; + } + + private Map listDirectory(String directoryPath) { + Map result = new HashMap<>(); + + try { + Path path = Paths.get(directoryPath); + File directory = path.toFile(); + + result.put("path", directoryPath); + result.put("exists", directory.exists()); + result.put("isDirectory", directory.isDirectory()); + result.put("canRead", directory.canRead()); + result.put("canWrite", directory.canWrite()); + + if (directory.exists() && directory.isDirectory()) { + List> files = new ArrayList<>(); + + File[] fileArray = directory.listFiles(); + if (fileArray != null) { + for (File file : fileArray) { + Map fileInfo = new HashMap<>(); + fileInfo.put("name", file.getName()); + fileInfo.put("isDirectory", file.isDirectory()); + fileInfo.put("size", file.length()); + fileInfo.put("lastModified", file.lastModified()); + fileInfo.put("canRead", file.canRead()); + fileInfo.put("canWrite", file.canWrite()); + files.add(fileInfo); + } + } + + result.put("files", files); + result.put("fileCount", files.size()); + } else { + result.put("files", new ArrayList<>()); + result.put("fileCount", 0); + result.put("error", "Directory does not exist or is not accessible"); + } + + } catch (Exception e) { + log.error("Error listing directory: {}", directoryPath, e); + result.put("error", e.getMessage()); + result.put("exception", e.getClass().getSimpleName()); + } + + return result; + } +} From 8359773be21af93297199b18cbbe23e45255034a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dean=5B=EB=B0=B1=EB=B3=91=EB=82=A8=5D?= Date: Mon, 24 Nov 2025 16:49:40 +0900 Subject: [PATCH 3/4] test mount --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1a459e87..db9bd29a 100644 --- a/.gitignore +++ b/.gitignore @@ -72,4 +72,3 @@ docker-compose.override.yml *.swo *~ !/CLAUDE.md -!/app.log From 6177af4b3264f0fa8a12fe6b780b3dbe84d5fa5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dean=5B=EB=B0=B1=EB=B3=91=EB=82=A8=5D?= Date: Mon, 24 Nov 2025 16:51:45 +0900 Subject: [PATCH 4/4] test mount --- app.log | 339 -------------------------------------------------------- 1 file changed, 339 deletions(-) delete mode 100644 app.log diff --git a/app.log b/app.log deleted file mode 100644 index 362ccb85..00000000 --- a/app.log +++ /dev/null @@ -1,339 +0,0 @@ -> Task :compileJava UP-TO-DATE -> Task :processResources UP-TO-DATE -> Task :classes UP-TO-DATE -> Task :resolveMainClassName UP-TO-DATE - -> Task :bootRun - - . ____ _ __ _ _ - /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ -( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ - \\/ ___)| |_)| | | | | || (_| | ) ) ) ) - ' |____| .__|_| |_|_| |_\__, | / / / / - =========|_|==============|___/=/_/_/_/ - - :: Spring Boot :: (v3.5.7) - -2025-11-17T15:12:06.577+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.KamcoBackApplication : Starting KamcoBackApplication using Java 21.0.9 with PID 30614 (/Users/d-pn-0105/dev/kamco/kamco-back/build/classes/java/main started by d-pn-0105 in /Users/d-pn-0105/dev/kamco/kamco-back) -2025-11-17T15:12:06.579+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.KamcoBackApplication : The following 1 profile is active: "local" -2025-11-17T15:12:07.430+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-11-17T15:12:07.510+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 71 ms. Found 2 JPA repository interfaces. -2025-11-17T15:12:07.852+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) -2025-11-17T15:12:07.869+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] -2025-11-17T15:12:07.870+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.48] -2025-11-17T15:12:07.909+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext -2025-11-17T15:12:07.909+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1309 ms -2025-11-17T15:12:07.987+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] o.s.w.f.ServerHttpObservationFilter : Filter 'webMvcObservationFilter' configured for use -2025-11-17T15:12:08.086+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] -2025-11-17T15:12:08.119+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.33.Final -2025-11-17T15:12:08.137+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled -2025-11-17T15:12:08.303+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer -2025-11-17T15:12:08.319+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... -2025-11-17T15:12:08.414+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@454e9d65 -2025-11-17T15:12:08.415+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. -2025-11-17T15:12:08.477+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: - Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] - Database driver: undefined/unknown - Database version: 15.4 - Autocommit mode: undefined/unknown - Isolation level: undefined/unknown - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2025-11-17T15:12:08.938+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2025-11-17T15:12:09.000+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-11-17T15:12:09.256+09:00 WARN 30614 --- [kamco-change-detection-api] [ main] 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-11-17T15:12:09.281+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. -2025-11-17T15:12:09.322+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : 15 mappings in 'requestMappingHandlerMapping' -2025-11-17T15:12:09.347+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' -2025-11-17T15:12:09.370+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 2 ResponseBodyAdvice -2025-11-17T15:12:09.400+09:00 DEBUG 30614 --- [kamco-change-detection-api] [ main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 2 ResponseBodyAdvice -2025-11-17T15:12:09.572+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint beneath base path '/monitor' -2025-11-17T15:12:09.615+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' -2025-11-17T15:12:09.625+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.KamcoBackApplication : Started KamcoBackApplication in 3.396 seconds (process running for 3.623) -2025-11-17T15:12:09.673+09:00 INFO 30614 --- [kamco-change-detection-api] [ main] c.k.cd.kamcoback.config.StartupLogger : -╔════════════════════════════════════════════════════════════════════════════════╗ -║ 🚀 APPLICATION STARTUP INFORMATION ║ -╠════════════════════════════════════════════════════════════════════════════════╣ -║ PROFILE CONFIGURATION ║ -╠────────────────────────────────────────────────────────────────────────────────╣ -│ Active Profile(s): local -╠════════════════════════════════════════════════════════════════════════════════╣ -║ DATABASE CONFIGURATION ║ -╠────────────────────────────────────────────────────────────────────────────────╣ -│ Database URL : jdbc:postgresql://192.168.2.127:15432/kamco_cds -│ Username : kamco_cds -│ Driver : org.postgresql.Driver -╠════════════════════════════════════════════════════════════════════════════════╣ -║ HIKARICP CONNECTION POOL ║ -╠────────────────────────────────────────────────────────────────────────────────╣ -│ Pool Size : min=1, max=5 -│ Connection Timeout: 20000ms -│ Idle Timeout : 300000ms -│ Max Lifetime : 1800000ms -╠════════════════════════════════════════════════════════════════════════════════╣ -║ JPA/HIBERNATE CONFIGURATION ║ -╠────────────────────────────────────────────────────────────────────────────────╣ -│ Show SQL : true -│ DDL Auto : validate -│ JDBC Batch Size : 50 -│ Fetch Batch Size : 100 -╚════════════════════════════════════════════════════════════════════════════════╝ - -2025-11-17T15:13:44.445+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-11-17T15:13:44.446+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' -2025-11-17T15:13:44.447+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver -2025-11-17T15:13:44.447+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver -2025-11-17T15:13:44.447+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver -2025-11-17T15:13:44.453+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@3c3357c7 -2025-11-17T15:13:44.454+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@f36c8b1 -2025-11-17T15:13:44.454+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data -2025-11-17T15:13:44.454+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 8 ms -2025-11-17T15:13:44.469+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/v1/api/animals", parameters={} -2025-11-17T15:13:44.473+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#createAnimal(AddReq) -2025-11-17T15:13:44.541+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [com.kamco.cd.kamcoback.zoo.dto.AnimalDto$AddReq@6c60ff23] -Hibernate: - /* select - zooEntity - from - ZooEntity zooEntity - where - zooEntity.uuid = ?1 - and zooEntity.isDeleted = ?2 */ select - ze1_0.uid, - ze1_0.created_date, - ze1_0.description, - ze1_0.is_deleted, - ze1_0.location, - ze1_0.modified_date, - ze1_0.name, - ze1_0.uuid - from - tb_zoo ze1_0 - where - ze1_0.uuid=? - and ze1_0.is_deleted=? -Hibernate: - /* insert for - com.kamco.cd.kamcoback.postgres.entity.AnimalEntity */insert - into - tb_animal (category, created_date, is_deleted, modified_date, name, species, uuid, zoo_id) - values - (?, ?, ?, ?, ?, ?, ?, ?) -2025-11-17T15:13:44.875+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] -2025-11-17T15:13:44.875+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [ApiResponseDto(data=com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Basic@7f1b32d5, error=null, errorData=n (truncated)...] -2025-11-17T15:13:44.885+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 201 CREATED -2025-11-17T15:14:02.505+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/api/animals/550e8400-e29b-41d4-a716-4466554400023c0f9b5-f22e-46e9-87d1-c3e84bd964520", parameters={} -2025-11-17T15:14:02.506+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#getAnimal(String) -2025-11-17T15:14:02.535+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Failed to complete request: org.springframework.dao.InvalidDataAccessApiUsageException: UUID string too large -2025-11-17T15:14:02.535+09:00 ERROR 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.InvalidDataAccessApiUsageException: UUID string too large] with root cause - -java.lang.IllegalArgumentException: UUID string too large - at java.base/java.util.UUID.fromString1(UUID.java:266) ~[na:na] - at java.base/java.util.UUID.fromString(UUID.java:260) ~[na:na] - at com.kamco.cd.kamcoback.postgres.repository.AnimalRepositoryImpl.getAnimalByUuid(AnimalRepositoryImpl.java:39) ~[main/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) ~[spring-aop-6.2.12.jar:6.2.12] - at com.kamco.cd.kamcoback.postgres.repository.AnimalRepositoryImpl$$SpringCGLIB$$0.getAnimalByUuid() ~[main/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:277) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:515) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:284) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:734) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:174) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:149) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:69) ~[spring-data-commons-3.5.5.jar:3.5.5] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:165) ~[spring-data-jpa-3.5.5.jar:3.5.5] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.2.12.jar:6.2.12] - at jdk.proxy2/jdk.proxy2.$Proxy157.getAnimalByUuid(Unknown Source) ~[na:na] - at com.kamco.cd.kamcoback.postgres.core.AnimalCoreService.getDataByUuid(AnimalCoreService.java:28) ~[main/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) ~[spring-aop-6.2.12.jar:6.2.12] - at com.kamco.cd.kamcoback.postgres.core.AnimalCoreService$$SpringCGLIB$$0.getDataByUuid() ~[main/:na] - at com.kamco.cd.kamcoback.zoo.service.AnimalService.getAnimalByUuid(AnimalService.java:19) ~[main/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.12.jar:6.2.12] - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) ~[spring-aop-6.2.12.jar:6.2.12] - at com.kamco.cd.kamcoback.zoo.service.AnimalService$$SpringCGLIB$$0.getAnimalByUuid() ~[main/:na] - at com.kamco.cd.kamcoback.zoo.AnimalApiController.getAnimal(AnimalApiController.java:96) ~[main/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) ~[spring-web-6.2.12.jar:6.2.12] - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) ~[spring-web-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) ~[spring-webmvc-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) ~[spring-webmvc-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.12.jar:6.2.12] - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.12.jar:6.2.12] - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.48.jar:6.0] - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.12.jar:6.2.12] - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.48.jar:6.0] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.48.jar:10.1.48] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.12.jar:6.2.12] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.12.jar:6.2.12] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) ~[spring-web-6.2.12.jar:6.2.12] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.12.jar:6.2.12] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.12.jar:6.2.12] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.48.jar:10.1.48] - at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] - -2025-11-17T15:14:02.543+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={} -2025-11-17T15:14:02.543+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest) -2025-11-17T15:14:02.549+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] -2025-11-17T15:14:02.550+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Mon Nov 17 15:14:02 KST 2025, status=500, error=Internal Server Error, path=/api/animals/ (truncated)...] -2025-11-17T15:14:02.556+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 500 -2025-11-17T15:14:27.293+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/v3/api-docs", parameters={} -2025-11-17T15:14:27.308+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springdoc.webmvc.api.OpenApiWebMvcResource#openapiJson(HttpServletRequest, String, Locale) -2025-11-17T15:14:27.673+09:00 INFO 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] o.springdoc.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 355 ms -2025-11-17T15:14:27.681+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] -2025-11-17T15:14:27.682+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] m.m.a.RequestResponseBodyMethodProcessor : Writing [{123, 34, 111, 112, 101, 110, 97, 112, 105, 34, 58, 34, 51, 46, 48, 46, 49, 34, 44, 34, 105, 110, 10 (truncated)...] -2025-11-17T15:14:27.683+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK -2025-11-17T15:14:38.080+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/api/animals/23c0f9b5-f22e-46e9-87d1-c3e84bd96452", parameters={} -2025-11-17T15:14:38.087+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#getAnimal(String) -Hibernate: - /* select - animalEntity - from - AnimalEntity animalEntity - where - animalEntity.uuid = ?1 */ select - ae1_0.uid, - ae1_0.category, - ae1_0.created_date, - ae1_0.is_deleted, - ae1_0.modified_date, - ae1_0.name, - ae1_0.species, - ae1_0.uuid, - ae1_0.zoo_id - from - tb_animal ae1_0 - where - ae1_0.uuid=? - fetch - first ? rows only -Hibernate: - /* select - animalEntity - from - AnimalEntity animalEntity - where - animalEntity.uid = ?1 */ select - ae1_0.uid, - ae1_0.category, - ae1_0.created_date, - ae1_0.is_deleted, - ae1_0.modified_date, - ae1_0.name, - ae1_0.species, - ae1_0.uuid, - ae1_0.zoo_id - from - tb_animal ae1_0 - where - ae1_0.uid=? - fetch - first ? rows only -2025-11-17T15:14:38.210+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] -2025-11-17T15:14:38.210+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Writing [ApiResponseDto(data=com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Basic@3495d79f, error=null, errorData=n (truncated)...] -2025-11-17T15:14:38.211+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK -2025-11-17T15:16:12.160+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : POST "/v1/api/animals", parameters={} -2025-11-17T15:16:12.163+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#createAnimal(AddReq) -2025-11-17T15:16:12.181+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.method.HandlerMethod : Could not resolve parameter [0] in public com.kamco.cd.kamcoback.config.api.ApiResponseDto com.kamco.cd.kamcoback.zoo.AnimalApiController.createAnimal(com.kamco.cd.kamcoback.zoo.dto.AnimalDto$AddReq): JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE] -2025-11-17T15:16:12.183+09:00 WARN 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE]] -2025-11-17T15:16:12.183+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 400 BAD_REQUEST -2025-11-17T15:16:12.184+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST "/error", parameters={} -2025-11-17T15:16:12.184+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest) -2025-11-17T15:16:12.185+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] -2025-11-17T15:16:12.185+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Mon Nov 17 15:16:12 KST 2025, status=400, error=Bad Request, path=/v1/api/animals}] -2025-11-17T15:16:12.186+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 400 -2025-11-17T15:16:24.064+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : POST "/v1/api/animals", parameters={} -2025-11-17T15:16:24.064+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.kamco.cd.kamcoback.zoo.AnimalApiController#createAnimal(AddReq) -2025-11-17T15:16:24.067+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.method.HandlerMethod : Could not resolve parameter [0] in public com.kamco.cd.kamcoback.config.api.ApiResponseDto com.kamco.cd.kamcoback.zoo.AnimalApiController.createAnimal(com.kamco.cd.kamcoback.zoo.dto.AnimalDto$AddReq): JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE] -2025-11-17T15:16:24.084+09:00 WARN 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `com.kamco.cd.kamcoback.zoo.dto.AnimalDto$Species` from String "DOC": not one of the values accepted for Enum class: [TUNA, CAT, DOVE, DOG, SALMON, EAGLE]] -2025-11-17T15:16:24.084+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 400 BAD_REQUEST -2025-11-17T15:16:24.091+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST "/error", parameters={} -2025-11-17T15:16:24.092+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest) -2025-11-17T15:16:24.093+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json, application/yaml] -2025-11-17T15:16:24.093+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Mon Nov 17 15:16:24 KST 2025, status=400, error=Bad Request, path=/v1/api/animals}] -2025-11-17T15:16:24.094+09:00 DEBUG 30614 --- [kamco-change-detection-api] [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 400 - -> Task :bootRun FAILED - -FAILURE: Build failed with an exception. - -* What went wrong: -Execution failed for task ':bootRun'. -> Process 'command '/Library/Java/JavaVirtualMachines/amazon-corretto-21.jdk/Contents/Home/bin/java'' finished with non-zero exit value 137 - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. - -BUILD FAILED in 4m 52s -4 actionable tasks: 1 executed, 3 up-to-date