Using MongoDB as a cache store
With the 5.3 release, there is a brand new feature. I'm glad to announce that you will be able to use MongoDB as a cache store.
For those who don't know MongoDB, it's an open-source document oriented NoSQL database developped by 10Gen. You can more information about it on http://www.mongodb.org/.
The question you have right now, it probably, how to use it cool cache store ? Simple, as for the other cache store you have to add a loader in your Infinispan configuration file.
Here is an exemple:
<loaders> <mongodbStore xmlns="urn:infinispan:config:mongodb:5.3" > <connection host="localhost" port="27017" timeout="2000" acknowledgment="0"/> <authentication username="mongoUser" password="mongoPass" /> <storage database="infinispan_test_database" collection="infispan_cachestore" /> </mongodbStore> </loaders>
ConfigurationBuilder b = new ConfigurationBuilder(); b.loaders().addStore(MongoDBCacheStoreConfigurationBuilder.class) .host( "localhost" ) .port( 27017 ) .timeout( 1500 ) .acknowledgment( 0 ) .username( "mongoDBUSer" ) .password( "mongoBDPassword" ) .database( "infinispan_cachestore" ) .collection( "entries" ); final Configuration config = b.build(); MongoDBCacheStoreConfiguration store = (MongoDBCacheStoreConfiguration) config.loaders().cacheLoaders().get(0);For more information about the configuration possibilities (default values, options, etc) , you can refer to the documentation page
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)