I have been studying Java EE and I posted a question on Stackoverflow to verify my understanding of “SessionBean”, here is the summary:
Stateless bean in client:
public void work(){
bean.work1(); // this uses instance 1 in App Server
...
bean.work2(); // this can be instance 2 in App Server
}
Stateful bean in client:
public void work(){
bean.add_item(item); // this uses instance 1 in App Server
....
bean.checkout(); // this uses instance 1 in App Server
}
- A stateless session bean, should not store a state in the bean instance, in order words, it’s class members should not be assigned by external values.
- A stateful session bean, maintains it’s state until it’s “flushed”, a bean method that is annotated by “@Remove”