Ask the Expert

How do I change a stateless session bean into a stateful session bean?

How do I change a stateless session bean into a stateful session bean?

    Requires Free Membership to View

The primary design difference between a version 2.x stateful EJB and a stateless EJB is the state information is typically stored in the stateful EJB's member fields, whereas no state information should be saved in the stateless EJB.

The primary implementation difference between the two is the information specified in the EJB's deployment descriptor file (ejb-jar.xml). For example, a typical ejb-jar.xml file for a stateless EJB might look like the following:


<ejb-jar>
   <enterprise-beans>
      <session>
         <ejb-name>MyEJB</ejb-name>
         <home>com.jeffhanson.ejb.MyEJBHome</home>
         <remote>com.jeffhanson.ejb.MyEJB</remote>
         <ejb-class> com.jeffhanson.ejb.MyEJBBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
      </session>
   </enterprise-beans>
   ...
</ejb-jar>
Now to turn this into a stateful EJB deployment, we just need to modify the "session-type" element to read:

<session-type>Stateful

This was first published in November 2004

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.