kr.co.hit.live.context
Class ContextManager

java.lang.Object
  extended by kr.co.hit.live.context.ContextManager

public class ContextManager
extends Object

현재 쓰레드와 관련된 컨텍스트 정보를 ThreadLocal 변수에 관리저장 관리하는 기능을 제공한다. 관리되는 컨텍스트로는 EJBContext, UserTransaction, ServiceContext 그리고 성능 관련 데이터를 관리하기 위한 Diagnostic Map 들이 있다.

Since:
4.0
Author:
김형도

Field Summary
static int J2EE_CONTEXT
          ContextManager의 Context Type이 J2EE 환경임을 나타낸다.
static String J2EE_CONTEXT_PROPERTY_KEY
          Live 설정파일에서 ContextManager의 Context 타입을 결정하기 위하여 J2EE Context가 true인지 false인지를 확인하기 위한 키이다.
static int PLATFORM_CONTEXT
          ContextManager의 Context Type이 일반 Java Application 환경임을 나타낸다.
 
Constructor Summary
ContextManager()
           
 
Method Summary
static void clearAll()
          현재 쓰레드에 저장되어 있는 EJBContext, ServiceContext 그리고 UserTransaction 객체들을 모두 쓰레드에서 삭제한다.
static void clearDiagnosticContext()
          현재 쓰레드의 성능 관련 데이터를 관리하는 Map 객체를 삭제한다.
static javax.ejb.EJBContext clearEJBContext()
          현재 쓰레드에 저장되어 있는 EJBContext Stack에서 EJBContext 객체를 pop() 한다.
static void clearServiceContext()
          현재 쓰레드에 저장되어 있는 ServiceContext 객체를 쓰레드에서 삭제한다.
static void clearUserTransaction()
          현재 쓰레드에 저장되어 있는 UserTransaction 객체를 쓰레드에서 삭제한다.
static int getContextType()
          실행환경이 WAS인지 stand-alone Java application인지를 리턴한다.
static Map<String,Object> getDiagnosticContext()
          현재 쓰레드의 성능 관련 데이터를 관리하는 Map 객체를 반환한다.
static javax.ejb.EJBContext getEJBContext()
          현재 쓰레드에 저장되어 있는 EJBContext Stack에서 EJBContext 객체를 peek() 한다.
static boolean getRollbackOnly()
           
static ServiceContext getServiceContext()
          현재 쓰레드에 저장되어 있는 ServiceContext 객체를 반환한다.
static UserTransaction getUserTransaction()
          현재 쓰레드에 저장되어 있는 UserTransaction 객체가 있으면 그것을 반환하고, 없으면 현재 Context Type에 맞는 UserTransaction 객체를 생성하여 반환한다.
static void purgeEJBContext()
          현재 쓰레드에 저장되어 있는 EJBContext Stack을 제거한다.
static void setEJBContext(javax.ejb.EJBContext ejbCtx)
          현재 쓰레드에 EJBContext 객체를 스택에 push()한다.
static void setRollbackOnly()
          현재 쓰레드 수행 중 어플리케이션에서 setRollbackOnly()를 호출했는지 여부를 설정한다.
static void setServiceContext(ServiceContext svcCtx)
          현재 쓰레드에 ServiceContext 객체를 저장한다.
static void setUserTransaction(UserTransaction ut)
          현재 쓰레드에 UserTransaction 객체를 저장한다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

J2EE_CONTEXT_PROPERTY_KEY

public static final String J2EE_CONTEXT_PROPERTY_KEY
Live 설정파일에서 ContextManager의 Context 타입을 결정하기 위하여 J2EE Context가 true인지 false인지를 확인하기 위한 키이다.

See Also:
Constant Field Values

J2EE_CONTEXT

public static final int J2EE_CONTEXT
ContextManager의 Context Type이 J2EE 환경임을 나타낸다.

See Also:
Constant Field Values

PLATFORM_CONTEXT

public static final int PLATFORM_CONTEXT
ContextManager의 Context Type이 일반 Java Application 환경임을 나타낸다.

See Also:
Constant Field Values
Constructor Detail

ContextManager

public ContextManager()
Method Detail

getContextType

public static int getContextType()
실행환경이 WAS인지 stand-alone Java application인지를 리턴한다. Live 설정파일을 통하여 설정된 값이다.

Returns:

setEJBContext

public static void setEJBContext(javax.ejb.EJBContext ejbCtx)
현재 쓰레드에 EJBContext 객체를 스택에 push()한다.

Parameters:
ejbCtx -

getEJBContext

public static javax.ejb.EJBContext getEJBContext()
현재 쓰레드에 저장되어 있는 EJBContext Stack에서 EJBContext 객체를 peek() 한다.

Returns:

clearEJBContext

public static javax.ejb.EJBContext clearEJBContext()
현재 쓰레드에 저장되어 있는 EJBContext Stack에서 EJBContext 객체를 pop() 한다.


purgeEJBContext

public static void purgeEJBContext()
현재 쓰레드에 저장되어 있는 EJBContext Stack을 제거한다.


setUserTransaction

public static void setUserTransaction(UserTransaction ut)
현재 쓰레드에 UserTransaction 객체를 저장한다.

Parameters:
ut -

getUserTransaction

public static UserTransaction getUserTransaction()
현재 쓰레드에 저장되어 있는 UserTransaction 객체가 있으면 그것을 반환하고, 없으면 현재 Context Type에 맞는 UserTransaction 객체를 생성하여 반환한다.

Returns:

clearUserTransaction

public static void clearUserTransaction()
현재 쓰레드에 저장되어 있는 UserTransaction 객체를 쓰레드에서 삭제한다.


setServiceContext

public static void setServiceContext(ServiceContext svcCtx)
현재 쓰레드에 ServiceContext 객체를 저장한다.

Parameters:
ejbCtx -

getServiceContext

public static ServiceContext getServiceContext()
현재 쓰레드에 저장되어 있는 ServiceContext 객체를 반환한다.

Returns:

clearServiceContext

public static void clearServiceContext()
현재 쓰레드에 저장되어 있는 ServiceContext 객체를 쓰레드에서 삭제한다.


getDiagnosticContext

public static Map<String,Object> getDiagnosticContext()
현재 쓰레드의 성능 관련 데이터를 관리하는 Map 객체를 반환한다.

Returns:

clearDiagnosticContext

public static void clearDiagnosticContext()
현재 쓰레드의 성능 관련 데이터를 관리하는 Map 객체를 삭제한다.


setRollbackOnly

public static void setRollbackOnly()
현재 쓰레드 수행 중 어플리케이션에서 setRollbackOnly()를 호출했는지 여부를 설정한다. 실제로 트랜젝션의 상태가 Rollback으로 마크되는 것은 아니다.


getRollbackOnly

public static boolean getRollbackOnly()

clearAll

public static void clearAll()
현재 쓰레드에 저장되어 있는 EJBContext, ServiceContext 그리고 UserTransaction 객체들을 모두 쓰레드에서 삭제한다.



Copyright © 2014. All Rights Reserved.