1 Reply Latest reply on Jul 20, 2011 7:46 PM by John Ament

    A question about the Weld archetype sample app's MemberListProducer

    Ro Chap Newbie

      The MemberListProducer generated by the Weld JEE6 archetype is like this:

      public class MemberListProducer {
          private EntityManager em;
          private List<Member> members;
          // @Named provides access the return value via the EL variable name "member" in the UI (e.g., Facelets or JSP view)
          public List<Member> getMembers() {
              return members;
          public void onMemberListChanged(@Observes(notifyObserver = Reception.IF_EXISTS) final Member member) {
          public void retrieveAllMembersOrderedByName() {
              CriteriaBuilder cb = em.getCriteriaBuilder();
              CriteriaQuery<Member> criteria = cb.createQuery(Member.class);
              Root<Member> member = criteria.from(Member.class);
              // Swap criteria statements if you would like to try out type-safe criteria queries, a new feature in JPA 2.0
              // criteria.select(member).orderBy(cb.asc(member.get(Member_.name)));
              members = em.createQuery(criteria).getResultList();

      Is it common to store the list of members, which will be the same for all the users, in the request scope? Isn't this going to consume a lot of extra memory, one list per request, rather than one list for the whole app?

      Thanks in advance.