diff --git a/.DS_Store b/.DS_Store index f3f88b16..8c696002 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/server/.DS_Store b/server/.DS_Store index ffc0ea7b..7d4fa17f 100644 Binary files a/server/.DS_Store and b/server/.DS_Store differ diff --git a/server/celebee_log/log-2024-03-08_21_44.0.txt b/server/celebee_log/log-2024-03-08_21_44.0.txt new file mode 100644 index 00000000..e69de29b diff --git a/server/celebee_log/log-2024-03-08_21_45.0.txt b/server/celebee_log/log-2024-03-08_21_45.0.txt new file mode 100644 index 00000000..093cace0 --- /dev/null +++ b/server/celebee_log/log-2024-03-08_21_45.0.txt @@ -0,0 +1,47 @@ +[WARN ] 21:45:06.989 com.amazonaws.util.EC2MetadataUtils getItems - Unable to retrieve the requested metadata (/latest/meta-data/instance-id). Failed to connect to service endpoint: +com.amazonaws.SdkClientException: Failed to connect to service endpoint: + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) + at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:75) + at com.amazonaws.internal.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:66) + at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:402) + at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:371) + at org.springframework.cloud.aws.context.support.env.AwsCloudEnvironmentCheckUtils.isRunningOnCloudEnvironment(AwsCloudEnvironmentCheckUtils.java:38) + at org.springframework.cloud.aws.context.annotation.OnAwsCloudEnvironmentCondition.matches(OnAwsCloudEnvironmentCondition.java:38) + at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:489) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:140) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:748) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.party.ServerApplication.main(ServerApplication.java:28) +Caused by: java.net.ConnectException: Host is down (connect failed) + at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) + at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) + at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) + at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) + at java.base/java.net.Socket.connect(Socket.java:615) + at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:507) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:602) + at java.base/sun.net.www.http.HttpClient.(HttpClient.java:275) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:374) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:395) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1258) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1086) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1020) + at com.amazonaws.internal.ConnectionUtils.connectToEndpoint(ConnectionUtils.java:52) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:80) + ... 24 common frames omitted +[WARN ] 21:45:09.405 o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration openEntityManagerInViewInterceptor - 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 diff --git a/server/celebee_log/log-2024-03-08_21_50.0.txt b/server/celebee_log/log-2024-03-08_21_50.0.txt new file mode 100644 index 00000000..e98ebd21 --- /dev/null +++ b/server/celebee_log/log-2024-03-08_21_50.0.txt @@ -0,0 +1,47 @@ +[WARN ] 21:50:36.143 com.amazonaws.util.EC2MetadataUtils getItems - Unable to retrieve the requested metadata (/latest/meta-data/instance-id). Failed to connect to service endpoint: +com.amazonaws.SdkClientException: Failed to connect to service endpoint: + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) + at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:75) + at com.amazonaws.internal.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:66) + at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:402) + at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:371) + at org.springframework.cloud.aws.context.support.env.AwsCloudEnvironmentCheckUtils.isRunningOnCloudEnvironment(AwsCloudEnvironmentCheckUtils.java:38) + at org.springframework.cloud.aws.context.annotation.OnAwsCloudEnvironmentCondition.matches(OnAwsCloudEnvironmentCondition.java:38) + at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:489) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:140) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:748) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.party.ServerApplication.main(ServerApplication.java:28) +Caused by: java.net.ConnectException: Host is down (connect failed) + at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) + at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) + at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) + at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) + at java.base/java.net.Socket.connect(Socket.java:615) + at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:507) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:602) + at java.base/sun.net.www.http.HttpClient.(HttpClient.java:275) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:374) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:395) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1258) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1086) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1020) + at com.amazonaws.internal.ConnectionUtils.connectToEndpoint(ConnectionUtils.java:52) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:80) + ... 24 common frames omitted +[WARN ] 21:50:38.708 o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration openEntityManagerInViewInterceptor - 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 diff --git a/server/celebee_log/log-2024-03-08_21_51.0.txt b/server/celebee_log/log-2024-03-08_21_51.0.txt new file mode 100644 index 00000000..3c4553d5 --- /dev/null +++ b/server/celebee_log/log-2024-03-08_21_51.0.txt @@ -0,0 +1,133 @@ +[ERROR] 21:51:01.339 o.a.c.c.C.[.[.[.[dispatcherServlet] log - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is javax.persistence.EntityNotFoundException: Unable to find com.party.board.entity.Board with id 1] with root cause +javax.persistence.EntityNotFoundException: Unable to find com.party.board.entity.Board with id 1 + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$JpaEntityNotFoundDelegate.handleEntityNotFound(EntityManagerFactoryBuilderImpl.java:177) + at org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:298) + at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:187) + at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:322) + at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45) + at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95) + at com.party.board.entity.Board$HibernateProxy$TJaOrTUV.getImageUrl(Unknown Source) + at com.party.board.service.ApplicantService.joinBoard(ApplicantService.java:48) + at com.party.board.service.ApplicantService$$FastClassBySpringCGLIB$$275421e9.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) + at com.party.board.service.ApplicantService$$EnhancerBySpringCGLIB$$d1f9ec67.joinBoard() + at com.party.board.controller.ApplicantController.postJoin(ApplicantController.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter.doFilterInternal(DefaultLogoutPageGeneratingFilter.java:58) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:237) + at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:223) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.party.auth.fliter.JwtVerificationFilter.doFilterInternal(JwtVerificationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:223) + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:223) + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:178) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + 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:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) + 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:481) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) + 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:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:829) diff --git a/server/celebee_log/log-2024-03-09_22_47.0.txt b/server/celebee_log/log-2024-03-09_22_47.0.txt new file mode 100644 index 00000000..ff259772 --- /dev/null +++ b/server/celebee_log/log-2024-03-09_22_47.0.txt @@ -0,0 +1,47 @@ +[WARN ] 22:47:35.947 com.amazonaws.util.EC2MetadataUtils getItems - Unable to retrieve the requested metadata (/latest/meta-data/instance-id). Failed to connect to service endpoint: +com.amazonaws.SdkClientException: Failed to connect to service endpoint: + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) + at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:75) + at com.amazonaws.internal.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:66) + at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:402) + at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:371) + at org.springframework.cloud.aws.context.support.env.AwsCloudEnvironmentCheckUtils.isRunningOnCloudEnvironment(AwsCloudEnvironmentCheckUtils.java:38) + at org.springframework.cloud.aws.context.annotation.OnAwsCloudEnvironmentCondition.matches(OnAwsCloudEnvironmentCondition.java:38) + at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:489) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:140) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:748) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.party.ServerApplication.main(ServerApplication.java:28) +Caused by: java.net.ConnectException: Host is down (connect failed) + at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) + at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) + at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) + at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) + at java.base/java.net.Socket.connect(Socket.java:615) + at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:507) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:602) + at java.base/sun.net.www.http.HttpClient.(HttpClient.java:275) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:374) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:395) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1258) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1086) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1020) + at com.amazonaws.internal.ConnectionUtils.connectToEndpoint(ConnectionUtils.java:52) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:80) + ... 24 common frames omitted +[WARN ] 22:47:38.289 o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration openEntityManagerInViewInterceptor - 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 diff --git a/server/celebee_log/log-2024-03-09_22_59.0.txt b/server/celebee_log/log-2024-03-09_22_59.0.txt new file mode 100644 index 00000000..1dd6bac7 --- /dev/null +++ b/server/celebee_log/log-2024-03-09_22_59.0.txt @@ -0,0 +1,69 @@ +[WARN ] 22:59:51.142 com.amazonaws.util.EC2MetadataUtils getItems - Unable to retrieve the requested metadata (/latest/meta-data/instance-id). Failed to connect to service endpoint: +com.amazonaws.SdkClientException: Failed to connect to service endpoint: + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) + at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:75) + at com.amazonaws.internal.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:66) + at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:402) + at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:371) + at org.springframework.cloud.aws.context.support.env.AwsCloudEnvironmentCheckUtils.isRunningOnCloudEnvironment(AwsCloudEnvironmentCheckUtils.java:38) + at org.springframework.cloud.aws.context.annotation.OnAwsCloudEnvironmentCondition.matches(OnAwsCloudEnvironmentCondition.java:38) + at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:489) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:140) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:748) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.party.ServerApplication.main(ServerApplication.java:28) +Caused by: java.net.ConnectException: Host is down (connect failed) + at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) + at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) + at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) + at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) + at java.base/java.net.Socket.connect(Socket.java:615) + at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:507) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:602) + at java.base/sun.net.www.http.HttpClient.(HttpClient.java:275) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:374) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:395) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1258) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1086) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1020) + at com.amazonaws.internal.ConnectionUtils.connectToEndpoint(ConnectionUtils.java:52) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:80) + ... 24 common frames omitted +[WARN ] 22:59:53.331 o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration openEntityManagerInViewInterceptor - 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 +[WARN ] 22:59:53.592 o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext refresh - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanInitializationException: Failed to process @EventListener annotation on bean with name 'notificationEventHandler'; nested exception is java.lang.IllegalStateException: Maximum one parameter is allowed for event listener method: public static com.party.alram.NotificationEventHandler com.party.alram.NotificationEventHandler.saveNotification(com.party.member.entity.Member,com.party.board.entity.Board) +[ERROR] 22:59:53.632 o.s.boot.SpringApplication reportFailure - Application run failed +org.springframework.beans.factory.BeanInitializationException: Failed to process @EventListener annotation on bean with name 'notificationEventHandler'; nested exception is java.lang.IllegalStateException: Maximum one parameter is allowed for event listener method: public static com.party.alram.NotificationEventHandler com.party.alram.NotificationEventHandler.saveNotification(com.party.member.entity.Member,com.party.board.entity.Board) + at org.springframework.context.event.EventListenerMethodProcessor.afterSingletonsInstantiated(EventListenerMethodProcessor.java:157) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:974) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:921) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.party.ServerApplication.main(ServerApplication.java:28) +Caused by: java.lang.IllegalStateException: Maximum one parameter is allowed for event listener method: public static com.party.alram.NotificationEventHandler com.party.alram.NotificationEventHandler.saveNotification(com.party.member.entity.Member,com.party.board.entity.Board) + at org.springframework.context.event.ApplicationListenerMethodAdapter.resolveDeclaredEventTypes(ApplicationListenerMethodAdapter.java:127) + at org.springframework.context.event.ApplicationListenerMethodAdapter.(ApplicationListenerMethodAdapter.java:117) + at org.springframework.transaction.event.TransactionalApplicationListenerMethodAdapter.(TransactionalApplicationListenerMethodAdapter.java:65) + at org.springframework.transaction.event.TransactionalEventListenerFactory.createApplicationListener(TransactionalEventListenerFactory.java:56) + at org.springframework.context.event.EventListenerMethodProcessor.processBean(EventListenerMethodProcessor.java:200) + at org.springframework.context.event.EventListenerMethodProcessor.afterSingletonsInstantiated(EventListenerMethodProcessor.java:154) + ... 10 common frames omitted diff --git a/server/celebee_log/log-2024-03-09_23_07.0.txt b/server/celebee_log/log-2024-03-09_23_07.0.txt new file mode 100644 index 00000000..56535ee2 --- /dev/null +++ b/server/celebee_log/log-2024-03-09_23_07.0.txt @@ -0,0 +1,69 @@ +[WARN ] 23:07:23.459 com.amazonaws.util.EC2MetadataUtils getItems - Unable to retrieve the requested metadata (/latest/meta-data/instance-id). Failed to connect to service endpoint: +com.amazonaws.SdkClientException: Failed to connect to service endpoint: + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) + at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:75) + at com.amazonaws.internal.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:66) + at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:402) + at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:371) + at org.springframework.cloud.aws.context.support.env.AwsCloudEnvironmentCheckUtils.isRunningOnCloudEnvironment(AwsCloudEnvironmentCheckUtils.java:38) + at org.springframework.cloud.aws.context.annotation.OnAwsCloudEnvironmentCondition.matches(OnAwsCloudEnvironmentCondition.java:38) + at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:489) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:140) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:748) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.party.ServerApplication.main(ServerApplication.java:28) +Caused by: java.net.ConnectException: Host is down (connect failed) + at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) + at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) + at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) + at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) + at java.base/java.net.Socket.connect(Socket.java:615) + at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:507) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:602) + at java.base/sun.net.www.http.HttpClient.(HttpClient.java:275) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:374) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:395) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1258) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1086) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1020) + at com.amazonaws.internal.ConnectionUtils.connectToEndpoint(ConnectionUtils.java:52) + at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:80) + ... 24 common frames omitted +[WARN ] 23:07:25.882 o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration openEntityManagerInViewInterceptor - 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 +[WARN ] 23:07:26.128 o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext refresh - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanInitializationException: Failed to process @EventListener annotation on bean with name 'notificationEventHandler'; nested exception is java.lang.IllegalStateException: Maximum one parameter is allowed for event listener method: public void com.party.alram.NotificationEventHandler.saveNotification(com.party.member.entity.Member,com.party.board.entity.Board) +[ERROR] 23:07:26.162 o.s.boot.SpringApplication reportFailure - Application run failed +org.springframework.beans.factory.BeanInitializationException: Failed to process @EventListener annotation on bean with name 'notificationEventHandler'; nested exception is java.lang.IllegalStateException: Maximum one parameter is allowed for event listener method: public void com.party.alram.NotificationEventHandler.saveNotification(com.party.member.entity.Member,com.party.board.entity.Board) + at org.springframework.context.event.EventListenerMethodProcessor.afterSingletonsInstantiated(EventListenerMethodProcessor.java:157) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:974) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:921) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.party.ServerApplication.main(ServerApplication.java:28) +Caused by: java.lang.IllegalStateException: Maximum one parameter is allowed for event listener method: public void com.party.alram.NotificationEventHandler.saveNotification(com.party.member.entity.Member,com.party.board.entity.Board) + at org.springframework.context.event.ApplicationListenerMethodAdapter.resolveDeclaredEventTypes(ApplicationListenerMethodAdapter.java:127) + at org.springframework.context.event.ApplicationListenerMethodAdapter.(ApplicationListenerMethodAdapter.java:117) + at org.springframework.transaction.event.TransactionalApplicationListenerMethodAdapter.(TransactionalApplicationListenerMethodAdapter.java:65) + at org.springframework.transaction.event.TransactionalEventListenerFactory.createApplicationListener(TransactionalEventListenerFactory.java:56) + at org.springframework.context.event.EventListenerMethodProcessor.processBean(EventListenerMethodProcessor.java:200) + at org.springframework.context.event.EventListenerMethodProcessor.afterSingletonsInstantiated(EventListenerMethodProcessor.java:154) + ... 10 common frames omitted diff --git a/server/src/main/java/com/party/alram/NotificationEvent.java b/server/src/main/java/com/party/alram/NotificationEvent.java new file mode 100644 index 00000000..175a286b --- /dev/null +++ b/server/src/main/java/com/party/alram/NotificationEvent.java @@ -0,0 +1,29 @@ +package com.party.alram; + +import com.party.board.entity.Board; +import com.party.member.entity.Member; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import org.springframework.context.ApplicationEvent; + +//알림을 보내기위해 필요한 정보를 가지고 있는 event 클래스 +@Getter +@RequiredArgsConstructor +public class NotificationEvent { + + private Member member; + private Board board; + private static NotificationEventHandler notificationEventHandler; + + public static NotificationEvent createBoard(Member member, Board board){ + System.out.println("여기 거침"); + notificationEventHandler.saveNotification(member, board); + return new NotificationEvent(); + } + + public static ApplicationEvent closedBoard(Member member, Board board){ + System.out.println("여기 거침 1"); + + return null; + } +} diff --git a/server/src/main/java/com/party/alram/NotificationEventHandler.java b/server/src/main/java/com/party/alram/NotificationEventHandler.java new file mode 100644 index 00000000..0b039162 --- /dev/null +++ b/server/src/main/java/com/party/alram/NotificationEventHandler.java @@ -0,0 +1,44 @@ +package com.party.alram; + +import com.party.alram.service.AlarmService; +import com.party.board.entity.Board; +import com.party.member.entity.Member; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.event.TransactionPhase; +import org.springframework.transaction.event.TransactionalEventListener; + +@Component +public class NotificationEventHandler{ + private final AlarmService alarmService; + + public NotificationEventHandler(AlarmService alarmService) { + this.alarmService = alarmService; + } + + //모임 글 작성자에게 알림 전송 + @Transactional(propagation = Propagation.REQUIRES_NEW) + @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) + public void saveNotification (Member member, Board board){ + System.out.println("알림 리스너가 들음"); + alarmService.sendBoardCreatedNotification(member, board); + } + + //모임 글 참가자에게 알림 전송 + @Transactional(propagation = Propagation.REQUIRES_NEW) + @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) + public void sendToNotification (NotificationEvent notificationEvent){ + System.out.println("알림 리스너가 들음 - 참여자에게 알림 전송"); + alarmService.sendParticipantsNotification(notificationEvent.getBoard()); + } + + //모임 마감시 알림 전송 + @Transactional(propagation = Propagation.REQUIRES_NEW) + @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) + public void closedNotification (NotificationEvent notificationEvent){ + System.out.println("알림 리스너가 들음2 - 마감"); + alarmService.sendCompletedNotification(notificationEvent.getBoard()); + } + +} diff --git a/server/src/main/java/com/party/alram/service/AlarmService.java b/server/src/main/java/com/party/alram/service/AlarmService.java index b6c064e5..afd2ac81 100644 --- a/server/src/main/java/com/party/alram/service/AlarmService.java +++ b/server/src/main/java/com/party/alram/service/AlarmService.java @@ -1,5 +1,6 @@ package com.party.alram.service; +import com.party.alram.NotificationEvent; import com.party.alram.entity.Alarm; import com.party.alram.repository.AlarmRepository; import com.party.alram.repository.EmitterRepository; @@ -8,7 +9,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.event.TransactionPhase; +import org.springframework.transaction.event.TransactionalEventListener; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.io.IOException; diff --git a/server/src/main/java/com/party/board/entity/Board.java b/server/src/main/java/com/party/board/entity/Board.java index d1855c1a..8a220a55 100644 --- a/server/src/main/java/com/party/board/entity/Board.java +++ b/server/src/main/java/com/party/board/entity/Board.java @@ -103,7 +103,7 @@ public enum BoardCategory { } public enum BoardStatus { BOARD_RECRUITING("모집 중"), - BOARD_STATUS("모집 마감"), + BOARD_COMPLETE("모집 마감"), ; @Getter diff --git a/server/src/main/java/com/party/board/repository/BoardRepository.java b/server/src/main/java/com/party/board/repository/BoardRepository.java index 108c763d..9d528a2a 100644 --- a/server/src/main/java/com/party/board/repository/BoardRepository.java +++ b/server/src/main/java/com/party/board/repository/BoardRepository.java @@ -15,7 +15,7 @@ public interface BoardRepository extends JpaRepository { Optional findByIdWithAll(@Param("boardId") Long boardId); //모임글 날짜 조회(이메일 발송 관련 메서드) - List findByDate(LocalDate eventDate); + List findByDateAndStatus(LocalDate eventDate, Board.BoardStatus status); //카테고리 조회 List findByCategory(Board.BoardCategory category); diff --git a/server/src/main/java/com/party/board/service/ApplicantService.java b/server/src/main/java/com/party/board/service/ApplicantService.java index 17e0b32b..62cc2f36 100644 --- a/server/src/main/java/com/party/board/service/ApplicantService.java +++ b/server/src/main/java/com/party/board/service/ApplicantService.java @@ -1,5 +1,6 @@ package com.party.board.service; +import com.party.alram.NotificationEvent; import com.party.alram.entity.Alarm; import com.party.alram.service.AlarmService; import com.party.board.entity.Applicant; @@ -14,6 +15,7 @@ import com.party.member.service.MemberService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +32,7 @@ public class ApplicantService { private final BoardRepository boardRepository; private final MemberRepository memberRepository; private final AlarmService alarmService; + private final ApplicationEventPublisher eventPublisher; //모임 참여 @@ -53,15 +56,15 @@ public Applicant joinBoard(long boardId, boolean isJoin){ board.setCurrentNum(board.getCurrentNum()+1); if (board.getCurrentNum() == board.getTotalNum()){ - board.setStatus(Board.BoardStatus.BOARD_STATUS); + board.setStatus(Board.BoardStatus.BOARD_COMPLETE); String rootImagePath = board.getImageUrl(); String cutPath = rootImagePath.substring(0, rootImagePath.length()-4); System.out.println(cutPath); board.setImageUrl(cutPath+"-closed.png"); boardRepository.save(board); //알림 - notifyCompleted(board); - notifyCompleted(board); + //notifyCompleted(board); + //notifyCompleted(board); } }else {//인원수 다 찼으면 추가 안함 throw new BusinessLogicException(ExceptionCode.NOT_ALLOW_PARTICIPATE); @@ -72,8 +75,7 @@ public Applicant joinBoard(long boardId, boolean isJoin){ //모임 참여 처리 applicant.setJoin(true); //알림 발송 - notifyApplicant(member, board); - notifyParticipants(board); + eventPublisher.publishEvent(NotificationEvent.closedBoard(member,board)); return savedApplicant; } diff --git a/server/src/main/java/com/party/board/service/BoardService.java b/server/src/main/java/com/party/board/service/BoardService.java index 7792722a..4e6e89ac 100644 --- a/server/src/main/java/com/party/board/service/BoardService.java +++ b/server/src/main/java/com/party/board/service/BoardService.java @@ -1,6 +1,8 @@ package com.party.board.service; -import com.party.alram.entity.Alarm; + +import com.party.alram.NotificationEvent; +import com.party.alram.NotificationEventHandler; import com.party.alram.service.AlarmService; import com.party.board.dto.BoardDto; import com.party.board.entity.Applicant; @@ -14,12 +16,11 @@ import com.party.member.repository.MemberRepository; import com.party.member.service.MemberService; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import java.time.LocalDate; import java.time.temporal.ChronoUnit; import java.util.List; @@ -36,6 +37,7 @@ public class BoardService { private final MemberRepository memberRepository; private final ApplicantRepository applicantRepository; private final AlarmService alarmService; + private final ApplicationEventPublisher eventPublisher; //알림 이벤트 리스너를 위해 추가 //모임글 등록 public Board createBoard(BoardDto.Post postDto) { @@ -47,7 +49,9 @@ public Board createBoard(BoardDto.Post postDto) { //작성한 모임 저장 Board savedBoard = boardRepository.save(board); //알림 발송 - notifyCreateBoard(member, board); + // ScheduleCreateEvent 발행 로직 추가 + eventPublisher.publishEvent(NotificationEvent.createBoard(member,board)); + //notifyCreateBoard(member, board); return savedBoard; } @@ -139,7 +143,7 @@ public void checkDate(){ List closedList = findEventsScheduledForDate(today.plus(2, ChronoUnit.DAYS)); for (Board board : closedList){ - board.setStatus(Board.BoardStatus.BOARD_STATUS); + board.setStatus(Board.BoardStatus.BOARD_COMPLETE); String rootImagePath = board.getImageUrl(); String cutPath = rootImagePath.substring(0, rootImagePath.length()-4); System.out.println(cutPath); @@ -173,14 +177,15 @@ private Member findMember(Long memberId) { } //해당 날짜에 예정된 모임 검색(이메일 발송 관련 메서드) - public List findEventsScheduledForDate(LocalDate eventDate) { - return boardRepository.findByDate(eventDate); + public List findEventsScheduledForDate(LocalDate eventDate ) { + //BoardStatus가 모집중 상태인 모임만 반환 + return boardRepository.findByDateAndStatus(eventDate, Board.BoardStatus.BOARD_RECRUITING); } - //모임글 작성 시 알림 전송 (알림 발송 관련 메서드) - private void notifyCreateBoard (Member member, Board board){ - alarmService.sendBoardCreatedNotification(member,board); - } +// //모임글 작성 시 알림 전송 (알림 발송 관련 메서드) +// private void notifyCreateBoard (Member member, Board board, Notification accept){ +// alarmService.sendBoardCreatedNotification(member,board); +// } //날짜 지난 모임 마감 알림 전송 (알림 발송 관련 메서드) private void notifyDeadline (Board board){ diff --git a/server/src/test/java/com/party/ServerApplicationTests.java b/server/src/test/java/com/party/ServerApplicationTests.java index bbd2808d..82b3d9c4 100644 --- a/server/src/test/java/com/party/ServerApplicationTests.java +++ b/server/src/test/java/com/party/ServerApplicationTests.java @@ -7,5 +7,4 @@ @SpringBootTest class ServerApplicationTests { - }