Package com.easydesk.context
Class TransactionContextHolder
java.lang.Object
com.easydesk.context.TransactionContextHolder
현재 사용자의 User, ActivitySetType CurrentModule, CurrentItemType 의 정보를 가지고 있다.
Spring dependency 가 없는 Service 영역에서 사용할 수 있도록 Pure Java 로 구성했다.
TransactionContextHolder
- Author:
- Youngho Cho
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacerunWith(TransactionContext, ContextTask)에서 실행할 작업 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidclear()static TransactionContextstatic voidrunWith(TransactionContext context, TransactionContextHolder.ContextTask task) 주어진 context 로 잠시 교체한 상태에서 task 를 실행하고, 끝나면(예외가 발생해도) 원래 context 로 복원한다.static voidsetContext(TransactionContext context)
-
Constructor Details
-
TransactionContextHolder
public TransactionContextHolder()
-
-
Method Details
-
setContext
-
getContext
-
clear
public static void clear() -
runWith
public static void runWith(TransactionContext context, TransactionContextHolder.ContextTask task) throws Exception 주어진 context 로 잠시 교체한 상태에서 task 를 실행하고, 끝나면(예외가 발생해도) 원래 context 로 복원한다.요청 처리 도중 새로 생성된 정보(예: 방금 insert 된 ItemType 의 id)를 이후 Workflow 에 전달해야 할 때 사용한다. Holder 를 교체한 채로 두면 같은 요청 안에서 이후에 실행되는 코드까지 바뀐 context 를 보게 되므로, 반드시 이 메서드로 범위를 한정해서 교체한다.
- Parameters:
context- 임시로 사용할 contexttask- 실행할 작업- Throws:
Exception- task 에서 발생한 예외
-