We are in the process of migrating our existing Java applications that is running on SAP BTP platform in Neo environment into Cloud Foundry. While other servlets are working fine, we are facing an issue when running servlets which uses request.startAsync. Below is the message and stack trace that we have taken from the logs
Message: Unable to start async because the following classes in the processing chain do not support async [com.sap.xs.security.TenantIdValve,com.sap.xs.security.UserInfoValve,com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter]
I have added RequestAccessorFilter with true, but not sure what else I am missing here. Please note that we are not using Springboot, all our endpoints are only servlets.
Stack Trace:
"java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.",
"\tat org.apache.catalina.connector.Request.startAsync(Request.java:1668)",
"\tat org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:742)",
"\tat com.arteriatech.support.UpdateIFSCRecords.doPut(UpdateIFSCRecords.java:134)",
"\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:558)",
"\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:623)",
"\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)",
"\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)",
"\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)",
"\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)",
"\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)",
"\tat com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.lambda$doFilter$0(RequestAccessorFilter.java:66)",
"\tat com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.lambda$execute$1(AbstractThreadContextExecutor.java:344)",
"\tat com.sap.cloud.sdk.cloudplatform.thread.ThreadContextCallable.call(ThreadContextCallable.java:229)",
"\tat com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.execute(AbstractThreadContextExecutor.java:346)",
"\tat com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.doFilter(RequestAccessorFilter.java:66)",
"\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)",
"\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)",
"\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)",
"\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)",
"\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)",
"\tat com.sap.xs.security.container.XSSecurityAuthenticator.invoke(XSSecurityAuthenticator.java:62)",
"\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)",
"\tat com.sap.xs.java.valves.ErrorReportValve.invoke(ErrorReportValve.java:68)",
"\tat ch.qos.logback.access.tomcat.LogbackValve.invoke(LogbackValve.java:256)",
"\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)",
"\tat com.sap.xs.security.TenantIdValve.invoke(TenantIdValve.java:33)",
"\tat com.sap.xs.security.UserInfoValve.invoke(UserInfoValve.java:18)",
"\tat com.sap.xs.statistics.tomcat.valve.RequestTracingValve.invoke(RequestTracingValve.java:43)",
"\tat com.sap.xs.logging.catalina.RuntimeInfoValve.invoke(RuntimeInfoValve.java:42)",
"\tat org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765)",
"\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)",
"\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)",
"\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)",
"\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)",
"\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)",
"\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)",
"\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)",
"\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)",
"\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)",
"\tat java.lang.Thread.run(Thread.java:838)"