我已经阅读了关于有状态和无状态会话bean的各种书籍以及它们如何工作。我想知道这些ejbs和使用普通java类的真正用途。基本上你什么时候去寻找无国界的ejbs,你什么时候去寻找有状态的ejbs。我想要一个实时应用程序。EJB无状态会话bean和有状态会话bean
回答
这些类型的ejbs的使用通常在服务层作为服务类。
EJB3无状态和有状态Bean实际上是POJO(有一些注释),他们没有与普通类的任何大的差别。
但在使用的术语,他们有一定的能力,你不能在正常上课找到像:
- 它们可以被远程调用(RMI例如协议)。
- 他们可以使用应用程序服务器上下文资源,如数据库连接和事务。
无状态或有状态: - 如果一个任务或进程可以在一个单一步骤中进行(通过一个方法调用)无状态就像是一个认证过程 正确的选择 - 如果任务需要一系列的方法调用(多于一个),并且您需要保留先前的结果以在下次调用中使用它们,然后进行有状态。 像一个装运过程(选择项目,添加/删除,然后做交易)
http会话或有状态?
EJB可以在应用程序服务器提供服务,他们可能像一个正常的Swing应用程序或者......不同类型的客户,这样你就可以在HTTP会话在这些情况下,不中继。
如果你的应用服务器和Web服务器是不同的(分布式)它不是好主意,将数据保存在HTTP会话和合格/从应用服务器(网络开销)getback到/。
保持状态,我们可以使用http会话 – 2010-08-27 19:29:27
@Suresh:是的,这也是事实,它取决于你选择正确的地方来保持国家。 – mhshams 2010-08-27 19:33:23
你什么时候去http会话vs有状态也是无状态的 – 2010-08-27 19:37:07
无状态会话bean很轻便:它们不存储有关特定用户的信息。它们通常以静态方式使用。例如,客户端要求产品信息将与无状态会话bean进行通信。 (“你要的产品‘YXZ’的价格,在这里你去!”)然而
有状态会话bean记得是客户信息。它们包含有关用户操作的数据。例如,让我们说一个用户通过购物车。这些步骤将存储在有状态的会话bean中(例如,在付款步骤用户)。
你真的需要在任何网站类型都是会话bean。除非你的网站是如此基本,以至于无状态会话bean(真正的只读网站)可以完成任何事情。
任何网站,跟踪通过cookies用户,将需要有状态会话bean。但请注意,您可以决定在会话bean中放入很少的会话信息,并将该信息存储在数据库中。但是你仍然需要一些会话管理。
我已经阅读过无处不在。但是我想知道你什么时候会喜欢,以及使用它们的经验。 – 2010-08-27 19:14:30
我们可以使用httpsession来维护客户端状态。 – 2010-08-27 19:23:09
开发商宁愿保持在现代企业应用程序的Web层的状态。我从来没有见过使用有状态会话Bean的真实世界Web应用程序。这也是一个可扩展性问题。
一个示例是一个购物车有状态会话bean,用于跟踪客户的产品选择并在需要时执行销售。
- 1. 有状态会话Bean vs无状态会话Bean
- 2. 会话bean和实体bean以及有状态会话bean和无状态会话bean之间的区别
- 3. EJB无状态会话bean为空
- 4. 有状态会话Bean和HTTP会话
- 5. 使用有状态会话bean(EJB)
- 6. EJB访问有状态会话Bean NameNotFoundException
- 7. EJB 3.1丢弃有状态会话bean
- 8. EJB 2.1有状态会话bean
- 9. Java,无状态会话bean
- 10. 无状态会话Bean
- 11. Java EE 6:如何从无状态会话Bean调用有状态会话Bean?
- 12. 何时使用无状态会话Bean来使用有状态会话Bean?
- 13. EJB无状态会话Bean中的CDI bean生产者
- 14. 无状态会话bean的ejb拦截器,我如何调用有状态会话bean
- 15. 获取无状态和有状态会话bean
- 16. backingbeans中的无状态和有状态会话bean
- 17. 线程安全无状态会话Bean
- 18. 来自无状态会话bean的FileIO
- 19. EntityManager未注入无状态会话Bean
- 20. 无状态会话bean结果缓存?
- 21. 无状态会话bean事务
- 22. 无状态会话Bean对象标识
- 23. 如何在无状态会话bean
- 24. 如何识别有状态或无状态会话bean
- 25. 有状态会话bean忘记值
- 26. 有状态会话bean,返回对象
- 27. 有状态会话Bean何时销毁?
- 28. 钝化问题有状态会话Bean
- 29. 有状态会话Bean - Stateloss问题
- 30. EJB无状态会话Bean - 无法创建错误
你是指无状态和有状态的ejb之间的区别? – mhshams 2010-08-27 19:08:12
@shamsi不完全,但没有理论答案。 – 2010-08-27 19:12:09
[Stateless and Stateful Enterprise Java Beans]可能的重复(http://stackoverflow.com/questions/2351220/stateless-and-stateful-enterprise-java-beans) – 2010-08-28 02:24:58