SPRING @Async를 활용한 multi thread 구현 - 1 - 개요

2017. 7. 11. 10:49framework/spring

 

SPRING @Async를 활용한 multi thread 구현 - 1 - 개요

 

 

Spring 에서 비동기 처리를 하기 위해서 AsyncConfigurer@Asynk를 사용하려고 한다.

 

 

 개발 환경은 Java 8 , Tomcat 8 , Spring 4.1 이다.

 

 

본 포스팅은  

 

 

SPRING @Async를 활용한 multi thread 구현 - 1 - 개요

SPRING @Async를 활용한 multi thread 구현 - 2 - AsyncConfigurer 생성

SPRING @Async를 활용한 multi thread 구현 - 3 - @Async 사용 및 Task 추가

SPRING @Async를 활용한 multi thread 구현 - 4 - ExceptionHandler 생성

SPRING @Async를 활용한 multi thread 구현 - 5 - 구현

 

 



 

총 5단계로 나누었다.

 

소개할 내용은 많지는 않지만 여러 경우의 수를 생각해서 다중으로 설명할 계획이고

 

짧게 나누어서 지루하지 않도록 분리해 보았다.

 

class 파일 4개만 만들면 되는거니까 겁먹을 필요도 없다.

 

사실 더 간단하게 만들라면 코드 20라인 내외로도 샘플링을 만들 수는 있다.

 

단지 다중으로 task를 관리하며 pool 관리 및 exception 관리까지 포함한 내용이라 많다고 느껴질 수 있다.

 

 

또한 정의나 원리 보다는 구현과 사용에 중점을 두었고 상세한 내용은 다른 블로그나 공식 사이트에서 확인하면 된다.

 



 

전체적인 흐름을 보면

 

AsyncConfigurer 을 사용하고 ThreadPoolTaskExecutor 를 활용하여 Executor 를 다중으로 생성한다.

 

AsyncConfigurer 를 사용했기 때문에 ExceptionHandler 연결이 가능하여 연결하였고

 

@Async 를 활용해서 여러 Thread를 생성해 필요한 Executor 과 연결하여 사용한다.

 

 

ThreadPoolTaskExecutor 를 사용한 이유는 가장 보편적이며 동시에 pool 관리를 할 수 있기 때문이다.

 

 

간단한 소개는 이것으로 마무리한다.