This week's giveaway is in the EJB and other Java EE Technologies forum.
We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line!
See this thread for details.
The moose likes EJB and other Java EE Technologies and the fly likes Stateless and Stateful beans.... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Stateless and Stateful beans...." Watch "Stateless and Stateful beans...." New topic
Author

Stateless and Stateful beans....

ankur trapasiya
Ranch Hand

Joined: Sep 24, 2010
Posts: 160

hello everyone.....!!!

regarding stateless and stateful beans i have 2 questions...

1) do we have to make the beans stateless explicitly ? i mean to say k if i have one variable i in my stateless bean, to make it stateless i have to write code manually ?

and for 2nd question i am posting my code here


NOW USING SERVLETS


output :

this is stateful local bean:-30
this is stateless local bean:-30
this is stateful remote bean:-30
this is stateless remote bean:-46

// here the state of all the beans is maintained and as i refresh the page output will be

this is stateful local bean:-31
this is stateless local bean:-31
this is stateful remote bean:-31
this is stateless remote bean:-47

USING JSP


output first time ...
Stateless local bean :- 1
Stateful local bean :- 1
Stateless remote bean :- 1
Stateful remote bean :- 1

output when page is refreshed...

Stateless local bean :- 1
Stateful local bean :- 1
Stateless remote bean :- 2
Stateful remote bean :- 1


NOW I AM NOT GETTING THIS BEHAVIOUR....WHY IN JSP THE STATE FOR ONLY STATELESS REMOTE BEAN IS MAINTAINED ?
IS IT BUG OF EJB 3.1 ? SOME EXPERT PLEASE COMMENT ON THIS..

Thanks in advance....


OCPJP(83%)
Paul Sturrock
Bartender

Joined: Apr 14, 2004
Posts: 10336


do we have to make the beans stateless explicitly

Yes. If you add state to a stateless bean any other way you are writing a bug.


JavaRanch FAQ HowToAskQuestionsOnJavaRanch
ankur trapasiya
Ranch Hand

Joined: Sep 24, 2010
Posts: 160

so is it our responsibility to make a bean stateless ?... Do we have to make all the member variables stateless explicitly or container manages their state ?
amit punekar
Ranch Hand

Joined: May 14, 2004
Posts: 507
Hello,
Do we have to make all the member variables stateless explicitly or container manages their state ?


There is nothing like making member variables stateless.

Stateless in case of Stateless session beans means that the client will never know which instance from the instance pool of the stateless session bean is serving the request. If you try maintain state (For e.g. Name of the Client) using an instance variable in SLSB, then you will never have guarantee that your next method call will be handled by the same SLSB instance that served you earlier. I hope that I am helping you to understand this.

Let me try to illustrate this as well using a Pseudo Code.
1) Client invokes SLSB.setClientName()
2) SLSB.method1 -> sets some instance variable of SLSB -> this.clientname - "amit"
3) Client invokes SLSB.getClientName() - This may or may not return you the expected value i.e. "amit" which was set in #2.

Please note that SLSB generally exposes the business functions, I just took help of set/get as it is easier to understand statelessness using this.

Regards,
Amit



 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Stateless and Stateful beans....
 
Similar Threads
the Stateful and Stateless Bean in JBoss is reversed?
stateless vs stateful session bean
Newbie stateful vs stateless session bean question
Problem in understanding session beans
Stateful and Stateless Session Bean reversed in JBoss?