   Stateful Beans vs Session Variables
  Your thoughts?I'm developing a webapp (JBoss 4.2.2, JDK 1.6, EJB3, JSF, Hibernate3, RichFaces 3.3) to allow a company to manage/submit their own email campaigns and I need to track users, contacts, and campaigns through the app. A stateful bean would be crazy helpful because I can create a generic stateful EJB on login (via JNDI lookup to the local EJB interface) that tracks all the info I need, and it will be distinct per session... but I read that stateful EJB's can lead to a lot of performance loss due to their replication and overhead. So, as handy as they may be, I don't know if I can suffer the performance loss since I need to support 2,000+ simultaneous users (load balanced over two BEASTY servers [quad opterons, 32GB RAM]).The alternative is to manage the user, contact, and campaign references via session var pointers, and use those to do database (some manual JDBC, some Hibernate managed) lookups to garner the rest of the needed data. It's more complicated/code intensive to do it like this, but it should save a good percent of overhead that would go to managing the stateful beans.Anyone have experience with this or have any advice on stateful EJB's vs session managed pointers with dbase lookups? Note that stateless EJB's will NOT accomplish what I need (though I could use them for the dbase lookup/objectifying with the session managed pointers).Any help is appreciated,   