1 Reply Latest reply on Jul 12, 2007 10:25 AM by Matthew Martin

    HOWTO: Configure distinct portlet instances on a distinct pe

    Matthew Martin Newbie

      I am having an architectural issue. Trying to discern the best way to go.
      Currently I am storing a large graph-type object (a tree control) as a member variable of a portlet..

      Example:
      public class MyPortlet extends JBossPortlet{
      private MyTreeControl treeCtrl = new MyTreeControl();

      // Implementation / Interaction goes here...
      }

      Problem:
      Want treeControl state to be unique for distinct users. In other words, the state of one user's tree control should not show up in anothers. So, user A expands node, user B should NOT be seeing his tree node expanded as well.. Currently, user B is seeing his tree node expanded whenver user A expands. I believe this is due to how JBoss Portal is managing portlet instances (ie. a single portlet instance is shared by all users of that portal application).

      Solution Considerations:
      1. I've considered putting the tree control into the Http Session object - but I've read that this is not the recommend approach for large data objects. Therefore I've held off that direction, as my tree can grow very,very large...

      2. I'm currently looking into how to exploit the features of hibernate and/or JBoss Cache for purposes of storing this tree control on a per user basis (ie. one distinct instance for each distinct user).

      Does the forum have any suggestions of what I might try?

      Thank you in advance.
      mmartin123