what is the difference between stateless and stateful
sessions?

Answer Posted / eshwar sharaf

A Stateful Session Bean is a bean that is designed to service business processes that span multiple method requests or transactions. Stateful Session beans retain state on behalf of an individual client. Stateless Session Beans do not maintain state.
EJB containers pools stateless session beans and reuses them to service many clients. Stateful session beans can be passivated and reused for other clients. But this involves I/O bottlenecks. Because a stateful session bean caches client conversation in memory, a bean failure may result in loosing the entire client conversation. Therefore, while writing a stateful session bean the bean developer has to keep the bean failure and client conversation loss in mind.
In case of stateless session beans, client specific data has to be pushed to the bean for each method invocation which will result in increase in the network traffic. This can be avoided in a number of ways like persisting the client specific data in database or in JNDI. But this also results in I/O performance bottlenecks.
If the business process spans multiple invocations thereby requiring a conversation then stateful session bean will be the ideal choice. On the other hand, if business process lasts only for a single method call, stateless session bean model suits.

Stateful session beans remembers the previous request and responses. But stateless beans do not. stateful does not have pooling concept, whereas the stateless bean instances are pooled.

Is This Answer Correct ?    4 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What does @inject mean in java?

648


What is ejb in spring?

447


Does spring use ejb?

508


What is ejb container?

681


What does @singleton annotation do?

522






How many enterprise beans?

551


What are the callback annotations for the stateless bean?

498


Why stateless is better than stateful?

528


Define ejb Create() and EjbPostCreate()?

569


What is stateless and stateful session bean in ejb?

492


What is entity beans in ejb with example?

506


What is the default transaction attribute for an ejb?

543


What changes have been made in ejb 2.0 specifications?

617


What is @injectmock?

525


How do you decide whether you should use session, entity or message driven bean?

569