admin管理员组文章数量:1277364
I have a reg form. I am using it to save a regform entity and InfoDM entity. InfoDM is called in regProcessService
@PostMapping("/regprocess")
public String regProcessController(@RequestBody RegForm regForm) {
if (regFormRepository.existsByStudentNameAndCourseName(
regForm.getStudentName(), regForm.getCourseName()))
return ("Student already added");
else {
enquiryService.saveRegForm(regForm);
enquiryService.regProcessService(regForm);
}
return ("Student registered");
// return enquiryService.regProcessService(regForm);
}
The problem is enquiryService.saveRegForm(regForm);
runs and saves the object to database. Or an error called
.springframework.dao.PessimisticLockingFailureException: could not execute statement [Lock wait timeout exceeded; try restarting transaction]
appears
The error page does not fit in the word limit.
.springframework.dao.PessimisticLockingFailureException: could not execute statement [Lock wait timeout exceeded; try restarting transaction] [insert into reg_form (lab_attenderid,lab_attender_name,cdstr,class_end_time,class_start_time,course_end,course_name,course_start,notes,p_appraisal_end_time,p_appraisal_start_date,p_appraisal_start_time,receptionist_name,regidnew,regidold,studentid,student_name,t_appraisal_end_time,t_appraisal_start_date,t_appraisal_start_time,trainerid,trainer_name,venue,w1,w2,w3,w4,w5,w6,w7) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into reg_form (lab_attenderid,lab_attender_name,cdstr,class_end_time,class_start_time,course_end,course_name,course_start,notes,p_appraisal_end_time,p_appraisal_start_date,p_appraisal_start_time,receptionist_name,regidnew,regidold,studentid,student_name,t_appraisal_end_time,t_appraisal_start_date,t_appraisal_start_time,trainerid,trainer_name,venue,w1,w2,w3,w4,w5,w6,w7) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
at .springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:286)
at .springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244)
at .springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:560)
at .springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
at .springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:343)
at .springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)
at .springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at .springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:165)
at .springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at .springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
at jdk.proxy4/jdk.proxy4.$Proxy126.save(Unknown Source)
at com.zeptoware.zeptoware.service.impl.EnquiryServiceImpl.saveRegForm(EnquiryServiceImpl.java:71)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at .springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
at .springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at .springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at .springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)
at .springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at .springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at .springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:727)
at com.zeptoware.zeptoware.service.impl.EnquiryServiceImpl$$SpringCGLIB$$0.saveRegForm(<generated>)
at com.zeptoware.zeptoware.controller.ZeptowareController.regProcessController(ZeptowareController.java:44)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at .springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257)
at .springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)
at .springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
at .springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986)
at .springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891)
at .springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at .springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088)
at .springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978)
at .springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at .springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
at .springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
at .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at .apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at .springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at .springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at .springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at .apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at .apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at .apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
at .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at .apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at .apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
at .apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at .apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
at .apache.tomcat.util.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
at .apache.tomcat.util.SocketProcessorBase.run(SocketProcessorBase.java:52)
at .apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
at .apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at .apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:842)
Caused by: .hibernate.PessimisticLockException: could not execute statement [Lock wait timeout exceeded; try restarting transaction] [insert into reg_form (lab_attenderid,lab_attender_name,cdstr,class_end_time,class_start_time,course_end,course_name,course_start,notes,p_appraisal_end_time,p_appraisal_start_date,p_appraisal_start_time,receptionist_name,regidnew,regidold,studentid,student_name,t_appraisal_end_time,t_appraisal_start_date,t_appraisal_start_time,trainerid,trainer_name,venue,w1,w2,w3,w4,w5,w6,w7) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
at .hibernate.dialect.MySQLDialect.lambda$buildSQLExceptionConversionDelegate$3(MySQLDialect.java:1238)
at .hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
at .hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
at .hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197)
at .hibernate.id.insert.GetGeneratedKeysDelegate.performMutation(GetGeneratedKeysDelegate.java:116)
at .hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleNonBatched.performNonBatchedOperations(MutationExecutorSingleNonBatched.java:47)
at .hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:55)
at .hibernate.persister.entity.mutation.InsertCoordinatorStandard.doStaticInserts(InsertCoordinatorStandard.java:194)
at .hibernate.persister.entity.mutation.InsertCoordinatorStandard.coordinateInsert(InsertCoordinatorStandard.java:132)
at .hibernate.persister.entity.mutation.InsertCoordinatorStandard.insert(InsertCoordinatorStandard.java:95)
at .hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:85)
at .hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:682)
at .hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:293)
at .hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:274)
at .hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:324)
at .hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:393)
at .hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:307)
at .hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:223)
at .hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:136)
at .hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:177)
at .hibernate.event.internal.DefaultPersistEventListener.persist(DefaultPersistEventListener.java:95)
at .hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
at .hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55)
at .hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
at .hibernate.internal.SessionImpl.firePersist(SessionImpl.java:761)
at .hibernate.internal.SessionImpl.persist(SessionImpl.java:745)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at .springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:364)
at jdk.proxy4/jdk.proxy4.$Proxy120.persist(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at .springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:320)
at jdk.proxy4/jdk.proxy4.$Proxy120.persist(Unknown Source)
at .springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:627)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at .springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
at .springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:277)
at .springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170)
at .springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158)
at .springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:515)
at .springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:284)
at .springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:752)
at
Here is the regProcessService method
@Override
public String regProcessService(RegForm regForm) {
if (regForm.getCourseName().equals("Digital Marketing")) {
popuDm.popuDMInfoPages(regForm);
// popuDm.popuDMCasPages(regForm);
}
deleteDataTable();
return ("Records populated");
}
Here is the service implementation
public void popuDMInfoPages(RegForm regForm) {
infoForTraineeRepository.InfoDates(
1, 3, 5, null, null, null, null, regForm.getStudentName());
List<Date> al =
infoForTraineeRepository.dataTableValues(regForm.getStudentName());
System.out.println("Date 1 is " + al.get(0));
// InfoForTrainee infoForTrainee = new InfoForTrainee();
// Common for all dates
infoForTrainee.setTrainerName(regForm.getTrainerName());
infoForTrainee.setStudentID(regForm.getStudentID());
infoForTrainee.setStudentName(regForm.getStudentName());
infoForTrainee.setVenue(regForm.getVenue());
infoForTrainee.setCourseName(regForm.getCourseName());
LocalDate localStartDate =
regForm.getCourseStart()
.toInstant() // Convert Date to Instant
.atZone(ZoneId.systemDefault()) // Convert Instant to ZonedDateTime
.toLocalDate();
LocalDate localEndDate =
regForm.getCourseEnd()
.toInstant() // Convert Date to Instant
.atZone(ZoneId.systemDefault()) // Convert Instant to ZonedDateTime
.toLocalDate();
Period cd = (Period.between(localStartDate, localEndDate));
String cdstr =
String.format("%d months and %d days", cd.getMonths(), cd.getDays());
infoForTrainee.setCdstr(cdstr);
infoForTraineeRepository.save(infoForTrainee);
System.out.println("Row added");
}
Why is there a deadlock in the code? I have tried changing code to jdbc INSERT statement. But error remains. Please help me with the basics. I need to understand the error. Main problem is I cant save InfoDM entity. Thanks for all the help.
本文标签: springPostman not stopping execution when there are 2 service methodsStack Overflow
版权声明:本文标题:spring - Postman not stopping execution when there are 2 service methods - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741209072a2358741.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论