We follows service component architecture (SCA). Different components are deployed as separate .war and communicate through webservices.
One jboss instance will have at-least 12 wars deployed in it. All these different components depends on reference data which at the moment is stored in concurrent map in each component(.war). These maps initialize and load reference data from DB at the time of webapp initialization. This way data is local to each component(.war).
The reference data is mostly write-once-read-many(WORM) type.
One disadvantage of this approach is, if DB ref-data changes - rarely it happens, we have to re-initialize the war to get the latest version.
Now I am planning to replace this concurrent map with infinispan cache.
But I am not sure which infinispan configuration would be most suitable.
Some options are:
1. Full Peer-to-Peer replication - good for WORM applications.
2. JPA second level caching on Jboss AS7
3. Client-server distributed cache.
All these options involve remote access to cache data, will that affect the app performance?
Except the option 2, Do I need to take care DB data synchronization?