비즈니스 로직을 처리하다보면 비동기처리를 하고 싶을 때가 있다. 여러가지 방법이 있지만 스프링에서는 Async 어노테이션을 사용하여 비동기 처리가 가능하다. 하지만 Async를 바로 적용하기 보다 테스트를 먼저 해보고 싶다는 생각이 들 수 있다. 동작 방식 등을 이해하고 싶다거나 비즈니스 로직이 비동기 처리에 적합한지 확인하기 위해서 테스트에서 Async를 사용하고 싶을 수 있다. 그래서 테스트에서 Async를 어떻게 적용할 수 있는지 설명해보겠다. 아래에 공개되는 모든 코드는 필자의 깃헙에도 있으니 참고하시면 되겠다. ⚠️ 경고 ⚠️ 여기서는 다음과 같은 내용은 자세히 다루지 않습니다. 별도로 찾아보시길 권합니다. > 동기/비동기, 쓰레드, 멀티쓰레드 등 🍿 @Async란 스프링 프레임워크에서 제공하는..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 요즘 스프링 공부 + 실무 경험이 한창이다. X인지 된장인지 모르고 막 하고 있다. 그러다가 이런 경우를 만났다. 서버에 엑셀 업로드를 한다고 했을 때 업로드 요청 후 블락을 하지 않으면 응답이 오기 전에 재요청을 하는 경우. 엑셀 파일을 선택해놓고 여러번 업로드 버튼을 누르는 경우가 그렇다. 이런 경우 아래와 같은 Exception을 볼 수 있다. org.apache.catalina.connector...
쓰레드, 쓰레드, 쓰레드... 말은 무지하게 많이 들어봤지만 제대로 들여다본 적은 없는 1인 그래서 알아봈다. 쓰레드가 뭐고 당췌 왜 중요한가... 쓰레드가 뭐시당가 먼저 프로세스(Process)를 이해해봅시다. 간단히 얘기해서 메모리 상에 실행되고 있는 프로그램이 프로세스입니다. 이 프로세스가 간단하다면 하나의 연산만 진행하고 대기상태에 머물겠죠. 텍스트 한줄만 있는 앱이 있다면 텍스트만 보여주기만 하면 되니깐 그럴 수 있습니다. 하지만 보통 2개 이상의 연산을 해야됩니다. UI를 보여주면서 서버와 접속도 해야되고 현재 상태도 확인해야하는 등의 상황이 있죠. 이렇게 독립적으로 실행이 되는 흐름/줄기/가닥을 쓰레드(Thread)라고 부릅니다. 안드로이드 쓰레드 Java를 공부하면 눈에 익숙한 함수가 나온..
Comment