EJB 썸네일형 리스트형 컨테이너 EJB 컨테이너와 트랜잭션 EJB 개발자들은 세션빈의 메소드 단위로 트랜잭션 레벨을 설정할 수 있다는 것을 알고 있다. 또한 컨테이너가 개발자가 설정한 트랜잭션의 레벨에 따라 메소드 내의 트랜잭션을 하나로 묶어준다는 것도 알고 있다. EJB의 실행중 속성정보를 갖고 있는 XML 파일안을 조작함으로써 트랜잭션 관리가 필요한 메소드를 지정할 수 있고(기본값은 ALL이다), 레벨 또한 조작할 수 있다. 설정 레벨은 REQUIRED로 지정한다(트랜잭션을 관리할 필요가 없는 업무정의가 존재하는 경우는 없다고 봐도 좋다). 컨테이너는 이 두 가지 정보를 가지고 메소드 시작시점부터 완료시점까지 Exception이 발생하게 되면 레벨이 REQUIRED일 경우 Exception발생 전까지 수행했던 작업을 모두 롤백시킨다.. 더보기 Message-driven Bean 라이프 사이클 Message-driven Bean의 라이프 사이클 존재하지않는 상태 ---------------------------------> 준비상태 [ new Instance() / setMessageDrivenContext() / ejbCreate() ] 준비상태 ---------------------------------> 존재하지않는 상태 [ ejbRemove() ] 더보기 Entity Bean에서 CMP와 BMP 설명, 비교 Entity Bean : 누가 관리하느냐에 따라 BMP와 CMP로 구분된다. 1)BMP(Bean Managed Persistence) : Bean이 Data 관리 - 개발자가 직접 JDBC를 이용해서 직접 Bean을 제작 - SQL을 이용 (사용이유 : 특정 데이터베이스에 종속적인 SQL문을 이용하거나 복잡한 SQL문 사용 가능) ex) student 2) CMP(Container Managed Persistence) : Container가 Data 관리 - 개발자가 JDBC코드를 작성하지 않고, 배치 디스크립터의 테이블 관계 설정만으로 컨테이너가 객체를 데이터베이스로부터 읽거나 저장하는 기능 - SQL대신에 EJB-QL을 이용(사용이유 : 특정 데이터베이스에 종속되지 않는 SQL작성가능) ex) Video 더보기 Stateful Session Bean 라이프 사이클 l Stateful Bean [Life Cycle] 1) create() 2) 일반메소드 3) ejbPassivate() 4) ejbActivate() 5) 시간초과 6) ejbRemove() 7) afterBegin() 8) 틀랜잭션 메소드 9) commit 10) Rollback 11) 일반 메소드 더보기 세션 빈, 메세지 드리븐 빈, 엔티티 빈 EJB 종류 3가지(세션빈, 메시지드리븐빈, 엔티티빈) 1. Stateless Session Bean(무상태 세션 빈) 비지니스 로직을 처리함. 웹에서 Servlet, JSP 는 컨트롤, 표현 로직을 담당하고, 업무로직은 세션빈으로 구현하는것이다. (재사용성을 높이기 위해…) 가장 많이 사용되는 빈으로 업무로직을 구현한다. 생성이 되면 객체 풀에 넣어두고 계속 재사용한다. 모든 클라이언트들에게 동일하게 보이므로 속도를 위해서 이렇게 처리함. [무상태 세션 빈의 라이프 사이클] 2. Stateful Session Bean(상태 유지 세션 빈) 상태유지 세션 빈은 클라이언트의 상태를 유지한다. 보통 장바구니 같이 클라이언트의 상태가 각각 유지되어야할 때 사용됨. [상태 유지 세션 빈의 라이프 사이클] 3. .. 더보기 이전 1 다음