0 Replies Latest reply on Aug 13, 2009 9:32 AM by Peter Neuburger

    Performance, Best Practice

    Peter Neuburger Newbie


      i have a (simple) question about Performance and Best Practice with Seam.

      is this example Code a good Programming Style (and also with EJB)

      Example Code:

      A Session Bean generated from Seam, a little modified..

      public class UserHome extends EntityHome<User> {
          public void create() {
          public User getInstance() {
               return super.getInstance();
          public String persist() {
               return super.persist();

      Then I have another Bean, a Stateless ONE

      @Scope(ScopeType.STATELESS) //STATLESS
      public class LinkActionBean {
           private EntityManager entityManager ;
           @In(required = false)
           private UserHome userHome ; 
              /** Generated from Seam, extends the EntityQuery Interface
           @In(required = false )
           private UserList userList ; 
              //now i have my business Operations
              public String saveUser() {
                //get the values from presentation view
                User user = createNewUserFactory() ; 
                user.setPassword(getInstance().getPassword() ) ;
                user.setUsername(getInstance().getUsername() ) ;
                //and so on....
                entityManager .persist(user) ; 
               return "persist"; //this one is for navigation, if persist then redirect to another view
             //get the instance from user, when he changed his Address and so on
             public User getInstance() {
                return userHome.getInstance() ; 
            //create a new user if Admin creates one
            public User createNewUserFactory() {
              return new User() ; 

      My Question: Is it correct to call a Session Bean from a Stateless Bean (or Scope) for some Business Operations ?? Performance, Best Practice and so on...??
      If not can you explain me why should may I avoid this ?

      I read the Book Seam Manning in Action, but the Examples in this Book don´t answer this Question, or I missed that.

      Thanks Peter