We need to setup a cluster of JBoss servers. Our application is Java5+Spring+Hibernate using ehcache as the Hibernate 2nd level cache. Right now the JBoss cluster is working correctly, hot-deploy across the cluster works great, and ehcache is clustered using their RMI-based listener/provider. We have ordered an evaluation unit hardware loadbalancer to test internally to put in front of the JBoss cluster.
I know very little about this in general and have 2 questions. Any thoughts on either would be greatly appreciated.
 Are there strong reasons we should switch to the JBoss TreeCache over ehcache now that we are running a JBoss Cluster?
 It seems there are 2 approaches to handling sessions. We can have the load balancer operate at layer 4 and have the JBoss Cluster replicate sessions or we can have the load balancer maintain cookie-based sticky sessions and disable the session replication in JBoss. Are there advantages I need to know about with one or the other approach? It seems that though you lose some failover ability by letting the loadbalancer maintain sticky sessions that you then avoid session replication chatter between JBoss nodes. In my unqualified opinion it would appear this chatter would become pretty substantial if the cluster became large. Though it won't be an issue for awhile, having the load balancer operate on cookies does mean the equipment can handle far fewer concurrent and new connections.
My apologies if this has been answered - was unable to turn up any content
with searches. If there is a misunderstanding on my part of how something works please correct me.