>  기사  >  Java  >  세션이란 무엇입니까? 세션 빈을 사용하는 이유는 무엇입니까?

세션이란 무엇입니까? 세션 빈을 사용하는 이유는 무엇입니까?

PHP中文网
PHP中文网원래의
2017-06-21 10:14:222057검색

내 블로그 게시물 URL

세션이란 무엇인가

제한된 시간 내에 클라이언트와 서버를 연결하는 것

Session Bean을 사용하는 이유

대부분의 EJB 서비스는 Session Bean으로만 제공되기 때문입니다

1. 동시성 및 스레드 안전성: 컨테이너는 많은 기술을 사용하여 개발자가 동시성 또는 스레드 안전성 문제에 대해 걱정할 필요가 없도록 자동으로 보장합니다
2. 원격처리 및 웹서비스 서비스 제공
3. 업무 및 보안 관리
4. 인터셉터

세션 빈 사양

1. 최소한 하나의 비즈니스 인터페이스를 갖습니다(EJB3.1 이후에는 필요하지 않음)
2. 세션 빈은 구체적이어야 하며 세션 빈은 최종 또는 추상으로 정의할 수 없습니다
3. 세션 빈에는 매개변수 없는 생성자가 있어야 합니다
4. Session Bean 클래스 또는 상위 클래스에서 비즈니스 메소드 및 라이프사이클 콜백 메소드를 정의할 수 있습니다
5. 세션 빈은 다른 세션 빈이나 다른 POJO의 하위 클래스일 수 있습니다. 다른 세션 빈의 하위 클래스인 경우 상위 클래스에 정의된 수명 주기 콜백 메서드와 종속성 주입 주석은 현재 빈 클래스에 의해 상속됩니다.
6. 세션 Bean 메소드는 "ejb"로 시작할 수 없습니다. 모든 비즈니스 메소드는 공개되어야 하며 최종 또는 정적 메소드일 수 없습니다. 또한 세션 Bean이 원격인 경우 모든 입력 및 출력 매개변수는 직렬화 인터페이스를 구현해야 합니다

비즈니스 인터페이스

1. 로컬 인터페이스: 동일한 컨테이너(JVM) 인스턴스에서 공동 작업을 위한 @Local
2. 원격 인터페이스: @Remote 다양한 컨테이너(JVM) 인스턴스의 협업 작업은 RMI
를 통해 액세스됩니다. 3. 웹 서비스 엔드포인트 인터페이스: @WebService는 Stateless Bean에 고유하며 Stateless Bean을 SOAP 기반 웹 서비스로 노출할 수 있습니다

여러 비즈니스 인터페이스 처리: 동일한 인터페이스에 둘 이상의 액세스 유형 주석을 표시할 수 없습니다. 상위 인터페이스를 사용한 다음 하위 인터페이스를 상속하여 코드 중복을 피할 수 있습니다.

상태 비저장 세션 빈

세션 상태를 유지하지 않는 작업을 모델링하는 데 사용됩니다

두 가지 생성 모드가 있는데, 하나는 컨테이너가 세션 Bean 풀을 생성하고 해당 개수의 세션 Bean 예제를 생성하고 이를 관리하는 풀링 모드입니다. 다른 하나는 싱글톤 모드입니다(EJB3.1 이상 버전만 지원해야 함)

주석: @Stateless는 이 클래스가 Stateless Bean임을 컨테이너에 알리고 컨테이너는 자동으로 Bean에 동시성 제어, 스레드 안전성, 풀링, 트랜잭션 관리 및 기타 서비스를 제공합니다

상태 저장 세션 빈

세션 상태 유지가 필요한 작업을 모델링하는 데 사용되는 EJB 컨테이너는 우리를 위해 세션 상태를 유지합니다

@Remove 주석을 사용하는 방법이 있어야 합니다

참고: 세션 데이터를 적절하게 선택하고 리소스를 덜 차지하는 데이터를 사용하십시오. 비활성화 및 삭제를 사용하는 것을 잊지 마세요.

대안: 웹 애플리케이션인 경우 HttpSession을 사용하여 상태를 유지하세요

세션 빈의 최상의 구현

1. 세션 빈 유형, 즉 Stateful Bean인지 Stateless Bean인지 선택하세요.

2. 세션 빈 인터페이스 유형 분석(@Local, @Remote)

3. Stateless Session Bean이나 Servlet에 Stateful Session Bean을 주입하지 마세요

4. 교차 거래 항목 분할(인터셉터 AOP를 사용하여 처리)

5. Stateful Session Bean에 저장된 데이터 유형(신중하게 선택)

6. Stateful Session Bean은 @Remove 주석이 달린 메소드를 정의해야 합니다

위 내용은 세션이란 무엇입니까? 세션 빈을 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.