As you know, the EJB container offers strong support for “save/load” the state of a stateful bean. The problem arises when you have to deal with nonserializable objects like open sockets, JDBC connections, etc. In these cases, the containter needs a little help. You can provide this by implementing two callback methods, as follows:
//passivation callback method for EJB [email protected] class any_bean_name{ @PrePassivate public void passivate(){ //here close JDBC connections, socket connections, ... //... } ...}//activation callback method for EJB [email protected] class any_bean_name{ @PostActivate public void activate(){ //here open JDBC connections, socket connections, ... //... } ...}