238 lines
32 KiB
Plaintext
238 lines
32 KiB
Plaintext
2025-02-13T14:16:11.794+01:00 INFO 48979 --- [main] o.s.a.m.s.w.s.McpMvcServerApplication : Starting McpMvcServerApplication using Java 17.0.12 with PID 48979 (/Users/christiantzolov/Dev/projects/spring-ai-examples/model-context-protocol/book-library/manual-webmvc-server/target/classes started by christiantzolov in /Users/christiantzolov/Dev/projects/spring-ai-examples)
|
|
2025-02-13T14:16:11.796+01:00 INFO 48979 --- [main] o.s.a.m.s.w.s.McpMvcServerApplication : No active profile set, falling back to 1 default profile: "default"
|
|
2025-02-13T14:16:12.139+01:00 INFO 48979 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
|
|
2025-02-13T14:16:12.145+01:00 INFO 48979 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
|
2025-02-13T14:16:12.145+01:00 INFO 48979 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.33]
|
|
2025-02-13T14:16:12.171+01:00 INFO 48979 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
|
2025-02-13T14:16:12.171+01:00 INFO 48979 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 357 ms
|
|
2025-02-13T14:16:12.511+01:00 INFO 48979 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'
|
|
2025-02-13T14:16:12.515+01:00 INFO 48979 --- [main] o.s.a.m.s.w.s.McpMvcServerApplication : Started McpMvcServerApplication in 0.888 seconds (process running for 1.008)
|
|
2025-02-13T14:16:27.039+01:00 INFO 48979 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
|
2025-02-13T14:16:27.039+01:00 INFO 48979 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
|
2025-02-13T14:16:27.040+01:00 INFO 48979 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms
|
|
2025-02-13T14:16:27.100+01:00 INFO 48979 --- [http-nio-8080-exec-2] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=initialize, id=a1adb0ea-0, params={protocolVersion=2024-11-05, capabilities={}, clientInfo={name=Spring AI MCP Client, version=1.0.0}}]
|
|
2025-02-13T14:16:27.105+01:00 INFO 48979 --- [http-nio-8080-exec-2] o.s.ai.mcp.server.McpAsyncServer : Client initialize request - Protocol: 2024-11-05, Capabilities: ClientCapabilities[experimental=null, roots=null, sampling=null], Info: Implementation[name=Spring AI MCP Client, version=1.0.0]
|
|
2025-02-13T14:16:27.149+01:00 INFO 48979 --- [http-nio-8080-exec-3] o.s.ai.mcp.spec.DefaultMcpSession : Received notification: JSONRPCNotification[jsonrpc=2.0, method=notifications/initialized, params=null]
|
|
2025-02-13T14:16:27.152+01:00 INFO 48979 --- [http-nio-8080-exec-4] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=ping, id=a1adb0ea-1, params=null]
|
|
2025-02-13T14:16:27.155+01:00 INFO 48979 --- [http-nio-8080-exec-5] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=tools/list, id=a1adb0ea-2, params={}]
|
|
2025-02-13T14:16:27.166+01:00 INFO 48979 --- [http-nio-8080-exec-6] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=tools/call, id=a1adb0ea-3, params={name=toUpperCase, arguments={input=accountName}}]
|
|
2025-02-13T14:16:27.187+01:00 INFO 48979 --- [http-nio-8080-exec-7] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=tools/call, id=a1adb0ea-4, params={name=getBooks, arguments={title=Spring Framework}}]
|
|
2025-02-13T14:16:28.379+01:00 INFO 48979 --- [http-nio-8080-exec-8] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=resources/list, id=a1adb0ea-5, params={}]
|
|
2025-02-13T14:16:28.389+01:00 INFO 48979 --- [http-nio-8080-exec-9] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=resources/read, id=a1adb0ea-6, params={uri=system://info}]
|
|
2025-02-13T14:16:28.400+01:00 INFO 48979 --- [http-nio-8080-exec-10] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=prompts/list, id=a1adb0ea-7, params={}]
|
|
2025-02-13T14:16:28.407+01:00 INFO 48979 --- [http-nio-8080-exec-1] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=prompts/get, id=a1adb0ea-8, params={name=greeting, arguments={name=Spring}}]
|
|
2025-02-13T14:16:35.297+01:00 INFO 48979 --- [http-nio-8080-exec-4] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=initialize, id=3b5482a0-0, params={protocolVersion=2024-11-05, capabilities={}, clientInfo={name=Spring AI MCP Client, version=1.0.0}}]
|
|
2025-02-13T14:16:35.297+01:00 INFO 48979 --- [http-nio-8080-exec-4] o.s.ai.mcp.server.McpAsyncServer : Client initialize request - Protocol: 2024-11-05, Capabilities: ClientCapabilities[experimental=null, roots=null, sampling=null], Info: Implementation[name=Spring AI MCP Client, version=1.0.0]
|
|
2025-02-13T14:16:35.333+01:00 INFO 48979 --- [http-nio-8080-exec-5] o.s.ai.mcp.spec.DefaultMcpSession : Received notification: JSONRPCNotification[jsonrpc=2.0, method=notifications/initialized, params=null]
|
|
2025-02-13T14:16:35.334+01:00 INFO 48979 --- [http-nio-8080-exec-6] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=ping, id=3b5482a0-1, params=null]
|
|
2025-02-13T14:16:35.335+01:00 ERROR 48979 --- [http-nio-8080-exec-6] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
|
|
2025-02-13T14:16:35.338+01:00 INFO 48979 --- [http-nio-8080-exec-8] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=tools/list, id=3b5482a0-2, params={}]
|
|
2025-02-13T14:16:35.338+01:00 ERROR 48979 --- [http-nio-8080-exec-8] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: Response not usable after response errors.
|
|
2025-02-13T14:16:35.338+01:00 ERROR 48979 --- [http-nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] threw exception
|
|
|
|
java.io.IOException: Broken pipe
|
|
at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:na]
|
|
at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[na:na]
|
|
at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132) ~[na:na]
|
|
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:97) ~[na:na]
|
|
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:53) ~[na:na]
|
|
at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[na:na]
|
|
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:122) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1378) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:764) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:728) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:712) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:574) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:156) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:216) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1274) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:408) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.Response.action(Response.java:208) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:299) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:265) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:136) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.flush(StandardServletAsyncWebRequest.java:412) ~[spring-web-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.function.SseServerResponse$DefaultSseBuilder.send(SseServerResponse.java:144) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.function.SseServerResponse$DefaultSseBuilder.writeString(SseServerResponse.java:206) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.function.SseServerResponse$DefaultSseBuilder.data(SseServerResponse.java:194) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.ai.mcp.server.transport.WebMvcSseServerTransport.lambda$sendMessage$0(WebMvcSseServerTransport.java:193) ~[mcp-webmvc-sse-transport-0.6.0.jar:0.6.0]
|
|
at java.base/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4780) ~[na:na]
|
|
at org.springframework.ai.mcp.server.transport.WebMvcSseServerTransport.lambda$sendMessage$1(WebMvcSseServerTransport.java:191) ~[mcp-webmvc-sse-transport-0.6.0.jar:0.6.0]
|
|
at reactor.core.publisher.MonoRunnable.subscribe(MonoRunnable.java:49) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4642) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4403) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at org.springframework.ai.mcp.spec.DefaultMcpSession.lambda$new$0(DefaultMcpSession.java:151) ~[mcp-0.6.0.jar:0.6.0]
|
|
at reactor.core.publisher.LambdaMonoSubscriber.onNext(LambdaMonoSubscriber.java:171) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4642) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4542) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4478) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4450) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at org.springframework.ai.mcp.spec.DefaultMcpSession.lambda$new$3(DefaultMcpSession.java:151) ~[mcp-0.6.0.jar:0.6.0]
|
|
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:196) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.BlockingSingleSubscriber.onSubscribe(BlockingSingleSubscriber.java:54) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.block(Mono.java:1778) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at org.springframework.ai.mcp.server.transport.WebMvcSseServerTransport.handleMessage(WebMvcSseServerTransport.java:274) ~[mcp-webmvc-sse-transport-0.6.0.jar:0.6.0]
|
|
at org.springframework.web.servlet.function.support.HandlerFunctionAdapter.handle(HandlerFunctionAdapter.java:108) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.33.jar:6.0]
|
|
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.33.jar:6.0]
|
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.15.jar:6.1.15]
|
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
|
|
|
|
2025-02-13T14:16:35.340+01:00 ERROR 48979 --- [http-nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
|
|
|
|
java.io.IOException: Broken pipe
|
|
at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:na]
|
|
at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[na:na]
|
|
at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132) ~[na:na]
|
|
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:97) ~[na:na]
|
|
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:53) ~[na:na]
|
|
at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[na:na]
|
|
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:122) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1378) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:764) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:728) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:712) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:574) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:156) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:216) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1274) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:408) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.Response.action(Response.java:208) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:299) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:265) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:136) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.flush(StandardServletAsyncWebRequest.java:412) ~[spring-web-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.function.SseServerResponse$DefaultSseBuilder.send(SseServerResponse.java:144) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.function.SseServerResponse$DefaultSseBuilder.writeString(SseServerResponse.java:206) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.function.SseServerResponse$DefaultSseBuilder.data(SseServerResponse.java:194) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.ai.mcp.server.transport.WebMvcSseServerTransport.lambda$sendMessage$0(WebMvcSseServerTransport.java:193) ~[mcp-webmvc-sse-transport-0.6.0.jar:0.6.0]
|
|
at java.base/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4780) ~[na:na]
|
|
at org.springframework.ai.mcp.server.transport.WebMvcSseServerTransport.lambda$sendMessage$1(WebMvcSseServerTransport.java:191) ~[mcp-webmvc-sse-transport-0.6.0.jar:0.6.0]
|
|
at reactor.core.publisher.MonoRunnable.subscribe(MonoRunnable.java:49) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4642) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4403) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at org.springframework.ai.mcp.spec.DefaultMcpSession.lambda$new$0(DefaultMcpSession.java:151) ~[mcp-0.6.0.jar:0.6.0]
|
|
at reactor.core.publisher.LambdaMonoSubscriber.onNext(LambdaMonoSubscriber.java:171) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4642) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4542) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4478) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4450) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at org.springframework.ai.mcp.spec.DefaultMcpSession.lambda$new$3(DefaultMcpSession.java:151) ~[mcp-0.6.0.jar:0.6.0]
|
|
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:196) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.BlockingSingleSubscriber.onSubscribe(BlockingSingleSubscriber.java:54) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at reactor.core.publisher.Mono.block(Mono.java:1778) ~[reactor-core-3.6.12.jar:3.6.12]
|
|
at org.springframework.ai.mcp.server.transport.WebMvcSseServerTransport.handleMessage(WebMvcSseServerTransport.java:274) ~[mcp-webmvc-sse-transport-0.6.0.jar:0.6.0]
|
|
at org.springframework.web.servlet.function.support.HandlerFunctionAdapter.handle(HandlerFunctionAdapter.java:108) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.33.jar:6.0]
|
|
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.15.jar:6.1.15]
|
|
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.33.jar:6.0]
|
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.15.jar:6.1.15]
|
|
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.15.jar:6.1.15]
|
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.33.jar:10.1.33]
|
|
at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
|
|
|
|
2025-02-13T14:16:35.345+01:00 INFO 48979 --- [http-nio-8080-exec-9] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=tools/call, id=3b5482a0-3, params={name=toUpperCase, arguments={input=accountName}}]
|
|
2025-02-13T14:16:35.346+01:00 ERROR 48979 --- [boundedElastic-1] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: Response not usable after response errors.
|
|
2025-02-13T14:16:35.356+01:00 INFO 48979 --- [http-nio-8080-exec-10] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=tools/call, id=3b5482a0-4, params={name=getBooks, arguments={title=Spring Framework}}]
|
|
2025-02-13T14:16:35.835+01:00 ERROR 48979 --- [boundedElastic-1] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: Response not usable after response errors.
|
|
2025-02-13T14:16:35.850+01:00 INFO 48979 --- [http-nio-8080-exec-1] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=resources/list, id=3b5482a0-5, params={}]
|
|
2025-02-13T14:16:35.850+01:00 ERROR 48979 --- [http-nio-8080-exec-1] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: Response not usable after response errors.
|
|
2025-02-13T14:16:35.859+01:00 INFO 48979 --- [http-nio-8080-exec-2] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=resources/read, id=3b5482a0-6, params={uri=system://info}]
|
|
2025-02-13T14:16:35.861+01:00 ERROR 48979 --- [boundedElastic-1] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: Response not usable after response errors.
|
|
2025-02-13T14:16:35.868+01:00 INFO 48979 --- [http-nio-8080-exec-3] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=prompts/list, id=3b5482a0-7, params={}]
|
|
2025-02-13T14:16:35.869+01:00 ERROR 48979 --- [http-nio-8080-exec-3] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: Response not usable after response errors.
|
|
2025-02-13T14:16:35.875+01:00 INFO 48979 --- [http-nio-8080-exec-4] o.s.ai.mcp.spec.DefaultMcpSession : Received request: JSONRPCRequest[jsonrpc=2.0, method=prompts/get, id=3b5482a0-8, params={name=greeting, arguments={name=Spring}}]
|
|
2025-02-13T14:16:35.875+01:00 ERROR 48979 --- [boundedElastic-1] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to send message to session 06a86083-27a9-4c10-83e6-d5263fb9c73b: Response not usable after response errors.
|
|
2025-02-13T14:16:55.614+01:00 WARN 48979 --- [http-nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Ignoring exception, response committed already: org.springframework.web.context.request.async.AsyncRequestTimeoutException
|
|
2025-02-13T14:16:55.615+01:00 WARN 48979 --- [http-nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.context.request.async.AsyncRequestTimeoutException]
|
|
2025-02-13T14:16:55.622+01:00 WARN 48979 --- [SpringApplicationShutdownHook] o.s.a.m.s.t.WebMvcSseServerTransport : Failed to complete SSE emitter for session 51dd1fe4-170b-488a-88a5-8fb082cd5599: The response object has been recycled and is no longer associated with this facade
|
|
2025-02-13T14:16:55.622+01:00 INFO 48979 --- [SpringApplicationShutdownHook] o.s.a.m.s.t.WebMvcSseServerTransport : Graceful shutdown completed
|
|
2025-02-13T14:16:55.622+01:00 INFO 48979 --- [SpringApplicationShutdownHook] o.s.a.m.s.t.WebMvcSseServerTransport : Graceful shutdown completed
|