Because you are trying to insert employee with same name and you do have constraint for it . Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "dcm_emp_ename" Detail: Key (ename)=(Jacky) already exists.
On Thu, Jun 22, 2017 at 8:35 PM, Muthu <[email protected]> wrote: > Hello Folks, > > I tried the Ignite spring transactions integration by using > *CacheSpringStoreSessionL**istener* (i used it with Ignite web console > based Automatic Persistence). > > I see that Transactional writes seems to fail & does not seem to work as > expected (one table/cache was inserted while another wasn't when both were > in a transaction annotated with @Transactional. (In the below example for > my test input one of the 'Emp' object inserts would fail on the DB & this > should have caused the cache & table to rollback for both 'Dept' & 'Emp', > but i see the partial entry for 'Dept' in DB). > > Anyone who was tried & got this working?.....it would be good to have this > working.. > > Below is the code fragment, > > > *@Transactional* > *public Boolean insertDepartmentWithEmployees(Dept dept, List<Emp> > empList) {* > * Boolean ret = true;* > * try {* > * System.out.println("==== in > ObjectCacheMgrService.insertDepartmentWithEmployees ==== for dept : " + > dept);* > * String uUID = new IgniteUuid(UUID.randomUUID(), > igniteAtomicSequence.incrementAndGet()).toString();* > * dept.setId(uUID);* > * deptCache.getAndPut(uUID, dept);* > * System.out.println("==== in > ObjectCacheMgrService.insertDepartmentWithEmployees : department ==== > inserted succesfully : " + dept);* > * for (Emp emp : empList) {* > * uUID = new IgniteUuid(UUID.randomUUID(), > igniteAtomicSequence.incrementAndGet()).toString();* > * emp.setId(uUID);* > * emp.setDeptid(dept.getId());* > * empCache.getAndPut(uUID, emp);* > * System.out.println("==== in > ObjectCacheMgrService.insertDepartmentWithEmployees : employee ==== > inserted succesfully : " + emp);* > * }* > * } catch (Exception e) {* > * System.out.println("==== EXCEPTION in > ObjectCacheMgrService.insertDepartmentWithEmployees ==== message is : " + > e.getMessage());* > * System.out.println("==== EXCEPTION in > ObjectCacheMgrService.insertDepartmentWithEmployees ==== class is : " + > e.getClass().getName());* > * e.printStackTrace();* > * ret = false;* > * }* > * return ret;* > *}* > > Below is the CacheSpringStoreSessionListener config segment, > > * <!-- Postgresql datasource -->* > * <bean id="dataSource" > class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">* > * <property name="driverClassName" value="${db.driverClassName}" />* > * <property name="url" value="${db.url}" />* > * <property name="username" value="${db.username}" />* > * <property name="password" value="${db.password}" />* > * <property name="removeAbandonedOnBorrow" value="true"/>* > * <property name="initialSize" value="10" />* > * <property name="maxTotal" value="20" />* > * <property name="maxIdle" value="5" />* > * <property name="minIdle" value="0" />* > * <property name="maxWaitMillis" value="90000" />* > * <property name="minEvictableIdleTimeMillis" value="900000" />* > * <property name="softMinEvictableIdleTimeMillis" value="900000" />* > * <property name="validationQuery" value="select 1" />* > * <property name="validationQueryTimeout" value="90" />* > * <property name="defaultTransactionIsolation" value="1" />* > * </bean>* > > * <!-- For transaction manager, using DataSourceTransactionManager" > since we are using JDBC local tx -->* > * <bean id="transactionManager" > class="org.springframework.jdbc.datasource.DataSourceTransactionManager">* > * <property name="dataSource" ref="dataSource" />* > * <property name="defaultTimeout" value="300" />* > * </bean>* > <!-- enable transaction demarcation with annotations --> > <tx:annotation-driven /> > > * <property name="CacheStoreSessionListenerFactories">* > * <list>* > * <bean > class="javax.cache.configuration.FactoryBuilder$SingletonFactory">* > * <constructor-arg>* > * <bean > class="org.apache.ignite.cache.store.spring.CacheSpringStoreSessionListener">* > * <!-- Inject transaction manager. -->* > * <property name="transactionManager" > ref="transactionManager"/>* > * </bean>* > * </constructor-arg>* > * </bean>* > * </list>* > * </property>* > > > Below is the exception (*RunTimeException subclass only*) stack trace > showing one of the 'Emp' object inserts failing & the rollback..but the db > 'Dept' table still has the 'Dept' entry that was made first as part of the > transaction as shown in the above code), > > ==== EXCEPTION in ObjectCacheMgrService.insertDepartmentWithEmployees > ==== class is : javax.cache.integration.CacheWriterException > javax.cache.integration.CacheWriterException: class > org.apache.ignite.transactions.TransactionRollbackException: Transaction > has been rolled back: b5584ef8c51-00000000-0678-3b15-0000-000000000001 > at org.apache.ignite.internal.processors.cache.GridCacheUtils.c > onvertToCacheException(GridCacheUtils.java:1404) > at org.apache.ignite.internal.processors.cache.IgniteCacheProxy > .cacheException(IgniteCacheProxy.java:2641) > at org.apache.ignite.internal.processors.cache.IgniteCacheProxy > .getAndPut(IgniteCacheProxy.java:1589) > at com.brocade.dcm.server.service.ObjectCacheMgrService.insertD > epartmentWithEmployees(ObjectCacheMgrService.java:101) > at com.brocade.dcm.server.service.ObjectCacheMgrService$$FastCl > assBySpringCGLIB$$2d159c39.invoke(<generated>) > at org.springframework.cglib.proxy.MethodProxy.invoke(MethodPro > xy.java:204) > at org.springframework.aop.framework.CglibAopProxy$CglibMethodI > nvocation.invokeJoinpoint(CglibAopProxy.java:721) > at org.springframework.aop.framework.ReflectiveMethodInvocation > .proceed(ReflectiveMethodInvocation.java:157) > at org.springframework.transaction.interceptor.TransactionInter > ceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) > at org.springframework.transaction.interceptor.TransactionAspec > tSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) > at org.springframework.transaction.interceptor.TransactionInter > ceptor.invoke(TransactionInterceptor.java:96) > at org.springframework.aop.framework.ReflectiveMethodInvocation > .proceed(ReflectiveMethodInvocation.java:179) > at org.springframework.aop.framework.CglibAopProxy$DynamicAdvis > edInterceptor.intercept(CglibAopProxy.java:656) > at com.brocade.dcm.server.service.ObjectCacheMgrService$$Enhanc > erBySpringCGLIB$$592efdc.insertDepartmentWithEmployees(<generated>) > at com.brocade.dcm.server.controller.ObjectCacheMgrServiceContr > oller.putPost(ObjectCacheMgrServiceController.java:24) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.springframework.web.method.support.InvocableHandlerMetho > d.doInvoke(InvocableHandlerMethod.java:205) > at org.springframework.web.method.support.InvocableHandlerMetho > d.invokeForRequest(InvocableHandlerMethod.java:133) > at org.springframework.web.servlet.mvc.method.annotation.Servle > tInvocableHandlerMethod.invokeAndHandle(ServletInvocableHand > lerMethod.java:116) > at org.springframework.web.servlet.mvc.method.annotation.Reques > tMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHan > dlerAdapter.java:827) > at org.springframework.web.servlet.mvc.method.annotation.Reques > tMappingHandlerAdapter.handleInternal(RequestMappingHandlerA > dapter.java:738) > at org.springframework.web.servlet.mvc.method.AbstractHandlerMe > thodAdapter.handle(AbstractHandlerMethodAdapter.java:85) > at org.springframework.web.servlet.DispatcherServlet.doDispatch > (DispatcherServlet.java:963) > at org.springframework.web.servlet.DispatcherServlet.doService( > DispatcherServlet.java:897) > at org.springframework.web.servlet.FrameworkServlet.processRequ > est(FrameworkServlet.java:970) > at org.springframework.web.servlet.FrameworkServlet.doPost(Fram > eworkServlet.java:872) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) > at org.springframework.web.servlet.FrameworkServlet.service(Fra > meworkServlet.java:846) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:230) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte > r.java:52) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.RequestContextFilter.doFilter > Internal(RequestContextFilter.java:99) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.HttpPutFormContentFilter.doFi > lterInternal(HttpPutFormContentFilter.java:105) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.HiddenHttpMethodFilter.doFilt > erInternal(HiddenHttpMethodFilter.java:81) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.CharacterEncodingFilter.doFil > terInternal(CharacterEncodingFilter.java:197) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.apache.catalina.core.StandardWrapperValve.invoke(Standar > dWrapperValve.java:198) > at org.apache.catalina.core.StandardContextValve.invoke(Standar > dContextValve.java:96) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A > uthenticatorBase.java:474) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHo > stValve.java:140) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo > rtValve.java:79) > at org.apache.catalina.core.StandardEngineValve.invoke(Standard > EngineValve.java:87) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd > apter.java:349) > at org.apache.coyote.http11.Http11Processor.service(Http11Proce > ssor.java:783) > at org.apache.coyote.AbstractProcessorLight.process(AbstractPro > cessorLight.java:66) > at org.apache.coyote.AbstractProtocol$ConnectionHandler.process > (AbstractProtocol.java:798) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > doRun(NioEndpoint.java:1434) > at org.apache.tomcat.util.net.SocketProcessorBase.run( > SocketProcessorBase.java:49) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.r > un(TaskThread.java:61) > at java.lang.Thread.run(Unknown Source) > Caused by: class org.apache.ignite.transactions.TransactionRollbackException: > Transaction has been rolled back: b5584ef8c51-00000000-0678-3b15 > -0000-000000000001 > at org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteU > tils.java:843) > at org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteU > tils.java:841) > at org.apache.ignite.internal.util.IgniteUtils.convertException > NoWrap(IgniteUtils.java:911) > ... 69 more > Caused by: class org.apache.ignite.internal.tra > nsactions.IgniteTxRollbackCheckedException: Transaction has been rolled > back: b5584ef8c51-00000000-0678-3b15-0000-000000000001 > at org.apache.ignite.internal.processors.cache.GridCacheAdapter > .syncOp(GridCacheAdapter.java:4054) > at org.apache.ignite.internal.processors.cache.GridCacheAdapter > .getAndPut0(GridCacheAdapter.java:2259) > at org.apache.ignite.internal.processors.cache.GridCacheAdapter > .getAndPut(GridCacheAdapter.java:2242) > at org.apache.ignite.internal.processors.cache.GridCacheAdapter > .getAndPut(GridCacheAdapter.java:2221) > at org.apache.ignite.internal.processors.cache.IgniteCacheProxy > .getAndPut(IgniteCacheProxy.java:1582) > ... 66 more > Caused by: class org.apache.ignite.IgniteCheckedException: Failed update > entry in database [table=dcm.emp, entry=Entry > [key=a0594ef8c51-f6aac86d-689c-43cc-99ad-2a04825bb0cc, > val=com.brocade.dcm.domain.model. > Emp [idHash=693577784, hash=1434265603, > id=a0594ef8c51-f6aac86d-689c-43cc-99ad-2a04825bb0cc, > ename=Jacky, job=SDEV1, mgr=2, hiredate=2017-05-28, sal=100000, comm=50000, > deptid=90594ef8c51-45a6457b-518e-473c- > aecc-7348b1ed31a5]]] > at org.apache.ignite.internal.processors.cache.store.GridCacheS > toreManagerAdapter.put(GridCacheStoreManagerAdapter.java:576) > at org.apache.ignite.internal.processors.cache.store.GridCacheS > toreManagerAdapter.putAll(GridCacheStoreManagerAdapter.java:609) > at org.apache.ignite.internal.processors.cache.transactions.Ign > iteTxAdapter.batchStoreCommit(IgniteTxAdapter.java:1326) > at org.apache.ignite.internal.processors.cache.transactions.Ign > iteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:500) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxLocal.localFinish(GridNearTxLocal.java:3021) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxFinishFuture.finish(GridNearTxFinishFuture.java:405) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxLocal$16.apply(GridNearTxLocal.java:3171) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxLocal$16.apply(GridNearTxLocal.java:3163) > at org.apache.ignite.internal.util.future.GridFutureAdapter.not > ifyListener(GridFutureAdapter.java:382) > at org.apache.ignite.internal.util.future.GridFutureAdapter.lis > ten(GridFutureAdapter.java:352) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxLocal.commitNearTxLocalAsync(GridNearTxLocal.java:3163) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxLocal.optimisticPutFuture(GridNearTxLocal.java:2373) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxLocal.putAsync0(GridNearTxLocal.java:623) > at org.apache.ignite.internal.processors.cache.distributed.near > .GridNearTxLocal.putAsync(GridNearTxLocal.java:386) > at org.apache.ignite.internal.processors.cache.GridCacheAdapter > $20.op(GridCacheAdapter.java:2261) > at org.apache.ignite.internal.processors.cache.GridCacheAdapter > .syncOp(GridCacheAdapter.java:4040) > ... 70 more > Caused by: javax.cache.integration.CacheWriterException: Failed update > entry in database [table=dcm.emp, entry=Entry > [key=a0594ef8c51-f6aac86d-689c-43cc-99ad-2a04825bb0cc, > val=com.brocade.dcm.domain.model.Em > p [idHash=693577784, hash=1434265603, > id=a0594ef8c51-f6aac86d-689c-43cc-99ad-2a04825bb0cc, > ename=Jacky, job=SDEV1, mgr=2, hiredate=2017-05-28, sal=100000, comm=50000, > deptid=90594ef8c51-45a6457b-518e-473c-ae > cc-7348b1ed31a5]]] > at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.wr > iteUpsert(CacheAbstractJdbcStore.java:955) > at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.wr > ite(CacheAbstractJdbcStore.java:1006) > at org.apache.ignite.internal.processors.cache.store.GridCacheS > toreManagerAdapter.put(GridCacheStoreManagerAdapter.java:568) > ... 85 more > Caused by: org.postgresql.util.PSQLException: ERROR: current transaction > is aborted, commands ignored until end of transaction block > at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorRespons > e(QueryExecutorImpl.java:2476) > at org.postgresql.core.v3.QueryExecutorImpl.processResults(Quer > yExecutorImpl.java:2189) > at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecut > orImpl.java:300) > at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement. > java:428) > at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354) > at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgP > reparedStatement.java:169) > at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPrep > aredStatement.java:136) > at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute > Update(DelegatingPreparedStatement.java:98) > at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute > Update(DelegatingPreparedStatement.java:98) > at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.wr > iteUpsert(CacheAbstractJdbcStore.java:902) > ... 87 more > Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value > violates unique constraint "dcm_emp_ename" > Detail: Key (ename)=(Jacky) already exists. > at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorRespons > e(QueryExecutorImpl.java:2476) > at org.postgresql.core.v3.QueryExecutorImpl.processResults(Quer > yExecutorImpl.java:2189) > at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecut > orImpl.java:300) > at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement. > java:428) > at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354) > at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgP > reparedStatement.java:169) > at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPrep > aredStatement.java:136) > at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute > Update(DelegatingPreparedStatement.java:98) > at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute > Update(DelegatingPreparedStatement.java:98) > at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.wr > iteUpsert(CacheAbstractJdbcStore.java:908) > ... 87 more > Jun 09, 2017 7:46:19 PM org.apache.catalina.core.StandardWrapperValve > invoke > SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with > path [] threw exception [Request processing failed; nested exception is > org.springframework.transaction.UnexpectedRollbackException: > Transaction rolled back because it has been marked as rollback-only] with > root cause > org.springframework.transaction.UnexpectedRollbackException: Transaction > rolled back because it has been marked as rollback-only > at org.springframework.transaction.support.AbstractPlatformTran > sactionManager.commit(AbstractPlatformTransactionManager.java:724) > at org.springframework.transaction.interceptor.TransactionAspec > tSupport.commitTransactionAfterReturning(TransactionAspectSu > pport.java:504) > at org.springframework.transaction.interceptor.TransactionAspec > tSupport.invokeWithinTransaction(TransactionAspectSupport.java:292) > at org.springframework.transaction.interceptor.TransactionInter > ceptor.invoke(TransactionInterceptor.java:96) > at org.springframework.aop.framework.ReflectiveMethodInvocation > .proceed(ReflectiveMethodInvocation.java:179) > at org.springframework.aop.framework.CglibAopProxy$DynamicAdvis > edInterceptor.intercept(CglibAopProxy.java:656) > at com.brocade.dcm.server.service.ObjectCacheMgrService$$Enhanc > erBySpringCGLIB$$592efdc.insertDepartmentWithEmployees(<generated>) > at com.brocade.dcm.server.controller.ObjectCacheMgrServiceContr > oller.putPost(ObjectCacheMgrServiceController.java:24) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.springframework.web.method.support.InvocableHandlerMetho > d.doInvoke(InvocableHandlerMethod.java:205) > at org.springframework.web.method.support.InvocableHandlerMetho > d.invokeForRequest(InvocableHandlerMethod.java:133) > at org.springframework.web.servlet.mvc.method.annotation.Servle > tInvocableHandlerMethod.invokeAndHandle(ServletInvocableHand > lerMethod.java:116) > at org.springframework.web.servlet.mvc.method.annotation.Reques > tMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHan > dlerAdapter.java:827) > at org.springframework.web.servlet.mvc.method.annotation.Reques > tMappingHandlerAdapter.handleInternal(RequestMappingHandlerA > dapter.java:738) > at org.springframework.web.servlet.mvc.method.AbstractHandlerMe > thodAdapter.handle(AbstractHandlerMethodAdapter.java:85) > at org.springframework.web.servlet.DispatcherServlet.doDispatch > (DispatcherServlet.java:963) > at org.springframework.web.servlet.DispatcherServlet.doService( > DispatcherServlet.java:897) > at org.springframework.web.servlet.FrameworkServlet.processRequ > est(FrameworkServlet.java:970) > at org.springframework.web.servlet.FrameworkServlet.doPost(Fram > eworkServlet.java:872) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) > at org.springframework.web.servlet.FrameworkServlet.service(Fra > meworkServlet.java:846) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:230) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte > r.java:52) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.RequestContextFilter.doFilter > Internal(RequestContextFilter.java:99) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.HttpPutFormContentFilter.doFi > lterInternal(HttpPutFormContentFilter.java:105) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.HiddenHttpMethodFilter.doFilt > erInternal(HiddenHttpMethodFilter.java:81) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.springframework.web.filter.CharacterEncodingFilter.doFil > terInternal(CharacterEncodingFilter.java:197) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFi > lter(ApplicationFilterChain.java:192) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(App > licationFilterChain.java:165) > at org.apache.catalina.core.StandardWrapperValve.invoke(Standar > dWrapperValve.java:198) > at org.apache.catalina.core.StandardContextValve.invoke(Standar > dContextValve.java:96) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A > uthenticatorBase.java:474) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHo > stValve.java:140) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo > rtValve.java:79) > at org.apache.catalina.core.StandardEngineValve.invoke(Standard > EngineValve.java:87) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd > apter.java:349) > at org.apache.coyote.http11.Http11Processor.service(Http11Proce > ssor.java:783) > at org.apache.coyote.AbstractProcessorLight.process(AbstractPro > cessorLight.java:66) > at org.apache.coyote.AbstractProtocol$ConnectionHandler.process > (AbstractProtocol.java:798) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > doRun(NioEndpoint.java:1434) > at org.apache.tomcat.util.net.SocketProcessorBase.run( > SocketProcessorBase.java:49) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.r > un(TaskThread.java:61) > at java.lang.Thread.run(Unknown Source) > > Regards, > Muthu >
