Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Using MongoDB as a cache store

DZone's Guide to

Using MongoDB as a cache store

· Performance Zone
Free Resource

Learn how real real-time monitoring is critical for DevOps. Because you can't build what you can't see.

 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

Get real-time alerts and visualizations across your cloud infrastructure for real real-time cloud monitoring. Try it FREE now

Topics:

Published at DZone with permission of Manik Surtani, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}