Class TransactionContextHolder

java.lang.Object
com.easydesk.context.TransactionContextHolder

public class TransactionContextHolder extends Object
현재 사용자의 User, ActivitySetType CurrentModule, CurrentItemType 의 정보를 가지고 있다. Spring dependency 가 없는 Service 영역에서 사용할 수 있도록 Pure Java 로 구성했다. TransactionContextHolder
Author:
Youngho Cho
  • Constructor Details

    • TransactionContextHolder

      public TransactionContextHolder()
  • Method Details

    • setContext

      public static void setContext(TransactionContext context)
    • getContext

      public static TransactionContext 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 - 임시로 사용할 context
      task - 실행할 작업
      Throws:
      Exception - task 에서 발생한 예외