As nobody answered me I had to find the answer all by myself...
I was using the XDoclet @ejb-transaction tag on every method, which was set 95% of the time to "Supports". This is the default (according to the XDoclet doco), so I thought it was ok.
But after erasing those tags, I had the cache (and invalidation service) working!!
Warning warning warning : if you're using the cache invalidation service like me, do not use the transactions at the method level. I suspect that it invalidates the cache at every request : as the distributable cache is not transactional, it is understandable, but as I was using the default "Supports" option, this is clearly a weird result from the JBoss server.
BTW, no transaction was started, so the "Supports" option should not have caused the invalidation of the cache.
I'm sorry that I couldn't help with your problem using the cache invalidation, perhaps you could help me with one I'm having.
I've got two nodes running in the same partition, both using the out of the box "Standard CMP 2.x EntityBean with cache invalidation" configuration. Unfortunately whenever I try to access any EJBs I get a deadlock and transaction rollback. I'm not setting any method level transaction attributes. I was wondering if you have seen this before?
JBoss 3.2.2 on Windows/Linux/Solaris
Concerning the transactions, I'm just using the "Supports" option at the class level.
I'm also using Oracle9i with their latest drivers. I guess Postgresql is having decent drivers, but there could be an issue here.
Could you post your EJB configuration? And could you post an example of how you access your EJBs?