Is it feasible to write a org.jboss.messaging.core.contract.PersistenceManager implementation that is backed by JGroups or JBoss Cache?
I ask because I need a JMS solution that ensures failover of persistent messages when a cluster member dies, with the acceptable restriction that these messages do NOT need to be persisted should ALL members of the cluster die.
(The standard solution of using the JDBCPersistenceManager with a clustered database IMHO is overkill and proving to have unacceptable performance issues for our application, hence I am looking for alternatives!)
It would seem to me that something like this would be possible, perhaps using the JGroups DistributedHashMap or MessageDispatcher blocks to distribute the "persisted" messages? Can anyone foresee any problems pursuing this approach? My initial concerns would be regarding the correct handling of XA transactions etc (Alternatively, would using JBoss Cache instead of JGroups take care of XA issues?).
Any insight on this idea would be greatly appreciated!
If you go down that path I would that a look at using Infinispan http://www.jboss.org/infinispan as it is pretty much going to replace JBossCache.
That said why not use the shared file journal failover option to achieve this...
See http://hornetq.sourceforge.net/docs/hornetq-2.0.0.BETA5/user-manual/en/html/persistence.html for details....