package com.loadtest.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class VirtualThreadController {
// <http://localhost:8081/ai/recommend>
@GetMapping("/ai/recommend")
public String recommend() throws InterruptedException {
System.out.println("테스트 날라왔다");
Thread.sleep(5000); // 5초 대기
return "recommend";
}
@PostMapping("/ai/recommend")
public String recommendPost() throws InterruptedException {
System.out.println("테스트 날라왔다");
Thread.sleep(5000); // 5초 대기
return "recommend";
}
}
라고 했더니 에러 뜸
2024-12-20T10:57:07.543+09:00 WARN 5472 --- [cpplab] [at-handler-1230] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.544+09:00 WARN 5472 --- [cpplab] [at-handler-1218] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.544+09:00 WARN 5472 --- [cpplab] [at-handler-1105] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.553+09:00 WARN 5472 --- [cpplab] [at-handler-1209] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.554+09:00 WARN 5472 --- [cpplab] [at-handler-1204] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.555+09:00 WARN 5472 --- [cpplab] [at-handler-1077] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.556+09:00 WARN 5472 --- [cpplab] [at-handler-1203] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.557+09:00 WARN 5472 --- [cpplab] [at-handler-1198] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.558+09:00 WARN 5472 --- [cpplab] [at-handler-1136] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.559+09:00 WARN 5472 --- [cpplab] [at-handler-1177] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.560+09:00 WARN 5472 --- [cpplab] [at-handler-1210] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.561+09:00 WARN 5472 --- [cpplab] [at-handler-1118] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.562+09:00 WARN 5472 --- [cpplab] [at-handler-1213] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.562+09:00 WARN 5472 --- [cpplab] [at-handler-1227] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.563+09:00 WARN 5472 --- [cpplab] [at-handler-1229] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.564+09:00 WARN 5472 --- [cpplab] [at-handler-1197] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.565+09:00 WARN 5472 --- [cpplab] [at-handler-1207] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.566+09:00 WARN 5472 --- [cpplab] [at-handler-1216] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.566+09:00 WARN 5472 --- [cpplab] [at-handler-1199] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
2024-12-20T10:57:07.567+09:00 WARN 5472 --- [cpplab] [at-handler-1214] c.c.g.common.exception.ExceptionAdvice : Response already committed. Ignoring: org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.io.IOException: Broken pipe
클라이언트가 서버의 응답을 기다리는 도중 연결을 종료한 경우 발생.
서버가 아직 응답을 처리 중인데 클라이언트가 더 이상 기다리지 못하고 연결을 끊으면, Broken pipe
예외를 던집니다.
300개 - 동기
300개 - 비동기