What I'm wondering is if JBossCache is capable of:
1. Running in a Java client without a J2EE container and still participate somehow in a distrubted cache.
2. Avoid firewall issues by connecting to a servlet on our web server in order to become a part of the cache.
3. Simulate two way communication via a stay-alive + piping HTTP connection or by connecting and polling on a regular basis (or a combination of these two).
Issues #2 and #3 are JGroups specific. #2 JGroups allows you to use tunnelling to an outside router.
#3 JGroups has failure detection built in; the transport can be configured differently. Pinging and transport are 2 separate protocols.
Since it uses JGroups, I would imagine another way to bypass the firewall would be with a JMS implementation that provides a mechanism for messaging over HTTP (as some implementations do). While looking through JGroups I was surprised at the lack of a simple HTTP transport protocol, though it does provide a JMS transport protocol.
Do you want to write an HTTP transport protocol for JGroups and contribute it ?