kr.co.hit.live.ejb.controller
Class SessionAdapter

java.lang.Object
  extended by kr.co.hit.live.ejb.controller.SessionAdapter
Direct Known Subclasses:
EJBCommanderBean

public class SessionAdapter
extends Object

SessionAdapterSessionBean을 작성할 때 공통적으로 코딩해야하는 ejbCreate(), ejbRemove(), ejbActivate(), ejbPassivate(), setSessionContext() 메소드를 제공한다. SessionBean 작성 시 다음의 예와 같이 SessionAdapter를 상속받아 SessionBean을 구현하기 위한 공통 메소드들을 제공할 수 있다.

 publc class IInSaApp extends SessionAdapter implements SessionBean {
 ...
 }
 

Since:
3.0
Version:
$Revision: 1.1 $ $Date: 2006/09/26 08:20:20 $
Author:
김형도

Field Summary
protected  javax.ejb.SessionContext context
           setSessionContext()가 호출될 때 넘어온 SessionContext 객체를 저장하기 위한 멤버변수 이다.
static String EJB_CONTAINER_NAME_PROPERTY
          EJB 용 서비스 컨테이너 명을 얻어오기 위한 설정 명
protected  kr.co.hit.live.container.ServiceContainer ejbServiceContainer
          EJB용 서비스 컨테이너로 생성된 객체를 저장해 놓는다.
 
Constructor Summary
SessionAdapter()
           
 
Method Summary
 void ejbActivate()
           빈 인스턴스가 active 상태가 된 후 컨테이너에의하여 호출된다.
 void ejbCreate()
           빈 인스턴스가 생성되고 나서 컨테이너에의하여 호출된다.
 void ejbPassivate()
           빈 인스턴스가 passive 상태가 되기 전에 컨테이너에의하여 호출된다.
 void ejbRemove()
           SessionBean instance가 제거되기 전에 컨테이너에의하여 호출된다.
protected  kr.co.hit.live.container.ServiceContainer getServiceContainer()
          EJB 용으로 설정된 서비스 컨테이너 객체를 반환한다.
protected  kr.co.hit.live.container.ServiceContainer getServiceContainer(String cname)
          주어진 이름으로 설정된 서비스 컨테이너 객체를 반환한다.
protected  kr.co.hit.live.context.ServiceContext getServiceContext()
          현재 쓰레드에 연결된 서비스 컨텍스트 객체를 반환한다.
protected  void loadServiceContainer()
           
 void setRollbackOnly()
           현재 트랜젝션을 rollback 상태로 세팅한다.
 void setSessionContext(javax.ejb.SessionContext ctx)
           Session Context를 저장한다.
protected  void unloadServiceContainer()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EJB_CONTAINER_NAME_PROPERTY

public static final String EJB_CONTAINER_NAME_PROPERTY
EJB 용 서비스 컨테이너 명을 얻어오기 위한 설정 명

See Also:
Constant Field Values

ejbServiceContainer

protected kr.co.hit.live.container.ServiceContainer ejbServiceContainer
EJB용 서비스 컨테이너로 생성된 객체를 저장해 놓는다.


context

protected javax.ejb.SessionContext context

setSessionContext()가 호출될 때 넘어온 SessionContext 객체를 저장하기 위한 멤버변수 이다.

Constructor Detail

SessionAdapter

public SessionAdapter()
Method Detail

getServiceContainer

protected kr.co.hit.live.container.ServiceContainer getServiceContainer()
EJB 용으로 설정된 서비스 컨테이너 객체를 반환한다.

live 설정 파일에서 Servlet용과 ejb용 서비스 컨테이너 명을 동일하게 지정했을 경우 같은 서비스컨테이너를 공유하게 되는데, 이때 어디서 먼저 로딩되었는지에 따라서 로딩 동작이 달라질 수 있다. 일반적으로는 servlet용이 먼저 로딩되는 것이 정상적인데, 만약 ejb용이 먼저 로딩되는 경우에는 ejb classloader에서는 servlet의 클래스 패스가 보이지 않으므로 원하지 않는 방식으로 서비스컨테이너가 로딩될 수 있다.

Returns:
EJB 용으로 설정된 서비스 컨테이너 객체

getServiceContainer

protected kr.co.hit.live.container.ServiceContainer getServiceContainer(String cname)
주어진 이름으로 설정된 서비스 컨테이너 객체를 반환한다.

Parameters:
cname -
Returns:
cname으로 생성된 서비스 컨테이너 객체를 반환하며, 해당 객체가 존재하지 않을 경우에는 null을 반환한다.

getServiceContext

protected kr.co.hit.live.context.ServiceContext getServiceContext()
현재 쓰레드에 연결된 서비스 컨텍스트 객체를 반환한다.

Returns:

setSessionContext

public void setSessionContext(javax.ejb.SessionContext ctx)
                       throws javax.ejb.EJBException,
                              RemoteException

Session Context를 저장한다. 빈 인스턴스가 생성되고 나서 컨테이너에의하여 호출된다. SessionBean을 구현하기위하여 제공하는 메소드이다.

Parameters:
ctx - A SessionContext interface for the SessionBean instance.
Throws:
javax.ejb.EJBException
RemoteException

ejbCreate

public void ejbCreate()
               throws javax.ejb.CreateException

빈 인스턴스가 생성되고 나서 컨테이너에의하여 호출된다. SessionBean을 구현하기위하여 제공하는 메소드이다.

Throws:
javax.ejb.CreateException

ejbRemove

public void ejbRemove()
               throws javax.ejb.EJBException,
                      RemoteException

SessionBean instance가 제거되기 전에 컨테이너에의하여 호출된다. SessionBean을 구현하기위하여 제공하는 메소드이다.

Throws:
javax.ejb.EJBException
RemoteException

ejbActivate

public void ejbActivate()
                 throws javax.ejb.EJBException,
                        RemoteException

빈 인스턴스가 active 상태가 된 후 컨테이너에의하여 호출된다. 이전에 passive 상태가 되면서 반납한 자원들을 다시 획득하는 용도로 사용된다. SessionBean을 구현하기위하여 제공하는 메소드이다.

Throws:
javax.ejb.EJBException
RemoteException

ejbPassivate

public void ejbPassivate()
                  throws javax.ejb.EJBException,
                         RemoteException

빈 인스턴스가 passive 상태가 되기 전에 컨테이너에의하여 호출된다. 이때 반납할 수 있는 자원들은 모두 반납하며, 나중에 active 상태가 될 때 다시 획득해야 한다. SessionBean을 구현하기위하여 제공하는 메소드이다.

Throws:
javax.ejb.EJBException
RemoteException

setRollbackOnly

public void setRollbackOnly()
                     throws IllegalStateException

현재 트랜젝션을 rollback 상태로 세팅한다. Application exception이 발생하면 컨테이너가 자동으로 트랙젝션을 rollback 하지 않기 때문에, 프로그램 내에서 rollback을 지시하는 코드인 setRollbackOnly() 메소드를 호출해야 한다.

Throws:
IllegalStateException

loadServiceContainer

protected void loadServiceContainer()

unloadServiceContainer

protected void unloadServiceContainer()


Copyright © 2014. All Rights Reserved.