Questions tagged «stateful-session-bean»

7
无状态和有状态的企业Java Bean
我正在阅读Java EE 6教程,试图理解无状态会话bean和有状态会话bean之间的区别。如果无状态会话bean在方法调用之间没有保持其状态,为什么我的程序按原样运行? package mybeans; import javax.ejb.LocalBean; import javax.ejb.Stateless; @LocalBean @Stateless public class MyBean { private int number = 0; public int getNumber() { return number; } public void increment() { this.number++; } } 客户端 import java.io.IOException; import javax.ejb.EJB; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.WebServlet; import mybeans.MyBean; import java.io.PrintWriter; @WebServlet(name …

2
何时在无状态会话bean上使用有状态会话bean?
有状态会话Bean定义如下: 有状态会话Bean对象的状态由其实例变量的值组成。在有状态会话Bean中,实例变量代表唯一的客户端Bean会话的状态。因为客户端与其bean进行交互(“交谈”),所以这种状态通常称为对话状态。 无状态会话Bean定义如下: 无状态会话Bean无状态会话Bean不会与客户端保持对话状态。当客户端调用无状态Bean的方法时,该Bean的实例变量可能包含特定于该客户端的状态,但仅限于调用期间。该方法完成后,不应保留特定于客户端的状态。但是,客户端可以更改池化的无状态Bean中实例变量的状态,并且此状态将保留到池化的无状态Bean的下一次调用中。除了方法调用期间,无状态bean的所有实例都是等效的,从而允许EJB容器将实例分配给任何客户端。也就是说,无状态会话Bean的状态应适用于所有客户端。 与有状态会话Bean相比,使用无状态会话Bean的优势如下: 因为无状态会话Bean可以支持多个客户端,所以它们可以为需要大量客户端的应用程序提供更好的可伸缩性。通常,与支持相同数量的客户端的有状态会话Bean相比,应用程序需要的无状态会话Bean更少。 因此想到的问题是何时应该使用有状态会话Bean?就我对此事的幼稚理解而言,应该坚持使用无状态会话bean。 应该使用有状态会话bean的候选对象是什么?有什么好的例子吗? 会话Bean
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.