@Stateful
및 @SessionScoped
주석 및 그 차이점을 다른 게시물 (this 게시 포함)에서 읽었습니다. 정의 포인트에서 @sessionScoped
은 클라이언트/웹 계층간에 세션이 필요/생성 될 때 사용되며 @Stateful
은 Bussiness Logic 계층에서 필요합니다. 그러나 나는 그것들을 구현할 때 실질적인 차이점을 파악하지 못하고있다. 다음은 간단한 예를 들어 HTTP 세션이 주어진 사용자와 서버 사이에 @SessionScoped
콩에 의해 유지되는 방법@stateful 및 @sessionScoped - 차이점 및이를 언제 올바르게 사용할 수 있습니까?
@Named
@SessionScoped
ShoppingCartUIBean {
@inject
shoppingCart cart;
// more code
}
@Stateful
ShoppingCart {
//business logic of adding/updating/deleting cart items
}
- 입니까? 즉, 다른 컴퓨터에서 장바구니를 열었을 때 내 사용자 프로필과 연결된 장바구니를 볼 수 있어야합니다. 어떻게 확립 되었습니까?
- 위의 두 콩을
annonations
으로 바꾸면 어떻게됩니까? 어떤 효과가 있을까요? (미안하지만 바보 같을 수도 있습니다. Java EE 세계에 들어가기 때문에 올바른 기본 정보를 얻고 싶습니다.) - Differences : @SessionScoped vs @Stateful and @ApplicationScoped vs @Singleton 위의 위대한 게시물에 따르면, @Stateful 빈은 웹 응용 프로그램에서 거의 사용되지 않습니다.
@Stateful
이 절대적으로 필요한 경우가 있습니까? - 관련된 참고 사항 :
@stateful
콩을@ApplicatonScoped
콩에 삽입하는 것이 맞습니까? 이것은 애플리케이션 전체가 하나의@stateful
빈을 가지고 있고 모든 클라이언트가 프록시를 통해 하나의 상태있는 빈의 동일한 인스턴스를 사용한다는 것을 의미합니다. (여기에 설명 된대로@Stateful
을servlets
EJB example for stateless and stateful beans difference에 삽입하지 마십시오.
감사합니다.
네 번째 점이 잘못되었다고 생각합니다. 이것은 모든 세션마다 항상 단일 세션 빈입니다. 단일 세션이 절대로 파괴되지 않습니다 .. –