본문 바로가기

컨테이너 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 더보기