Creating Custom Object Store - By Rahul Kumar
Custom Object Store An object store is a facility for storing objects in Mule. Mule uses object stores whenever it needs data to persist for later retrieval. Internally, Mule uses object stores in various filters, routers, and other message processors that need to store their state between messages. In most cases, Mule creates and manages object stores automatically, so no user configuration is necessary.
Creating Custom Object Store Create your own object Store by: Implementing org.mule.api.store.ObjectStore interface Overriding the standard implementations of Object Stores like org.mule.api.store.ListableObjectStore, org.mule.api.store.PartitionableObjectStore org.mule.api.store.PartitionableExpirableObjectStore and many more
Snippet for Custom Object Store package org.rahul.objectstore; import java.io.Serializable; import java.util.Hashtable; import org.mule.api.store.ObjectStore; import org.mule.api.store.ObjectStoreException; public class MyObjectStore implements ObjectStore { private static Hashtable<String,String> myStore= new Hashtable<String,String>(); public static Hashtable<String, String> getMyStore() { return myStore; } public static void setMyStore(Hashtable<String, String> myStore) { MyObjectStore.myStore = myStore; }
Snippet for Custom Object Store @Override public boolean contains(Serializable key) throws ObjectStoreException { return getMyStore().containsKey(key); } @Override public void store(Serializable key, Serializable value) throws ObjectStoreException { getMyStore().put(key.toString(), value.toString()); } @Override public Serializable retrieve(Serializable key) throws ObjectStoreException { return getMyStore().get(key); }
Snippet for Custom Object Store @Override public Serializable remove(Serializable key) throws ObjectStoreException { return getMyStore().remove(key); } @Override public boolean isPersistent() { return false; } @Override public void clear() throws ObjectStoreException { getMyStore().clear(); } }
Snippet for Custom Object Store The above provided snippet can be used to create a custom Onject store. This object store is storing objects inside a HashTable
Configuration Provide this object store in the components which requires object stores like idempotent filter, Until Successful scope etc.
Thank You

Creating custom object store

  • 1.
  • 2.
    Custom Object Store Anobject store is a facility for storing objects in Mule. Mule uses object stores whenever it needs data to persist for later retrieval. Internally, Mule uses object stores in various filters, routers, and other message processors that need to store their state between messages. In most cases, Mule creates and manages object stores automatically, so no user configuration is necessary.
  • 3.
    Creating Custom Object Store Createyour own object Store by: Implementing org.mule.api.store.ObjectStore interface Overriding the standard implementations of Object Stores like org.mule.api.store.ListableObjectStore, org.mule.api.store.PartitionableObjectStore org.mule.api.store.PartitionableExpirableObjectStore and many more
  • 4.
    Snippet for Custom ObjectStore package org.rahul.objectstore; import java.io.Serializable; import java.util.Hashtable; import org.mule.api.store.ObjectStore; import org.mule.api.store.ObjectStoreException; public class MyObjectStore implements ObjectStore { private static Hashtable<String,String> myStore= new Hashtable<String,String>(); public static Hashtable<String, String> getMyStore() { return myStore; } public static void setMyStore(Hashtable<String, String> myStore) { MyObjectStore.myStore = myStore; }
  • 5.
    Snippet for Custom ObjectStore @Override public boolean contains(Serializable key) throws ObjectStoreException { return getMyStore().containsKey(key); } @Override public void store(Serializable key, Serializable value) throws ObjectStoreException { getMyStore().put(key.toString(), value.toString()); } @Override public Serializable retrieve(Serializable key) throws ObjectStoreException { return getMyStore().get(key); }
  • 6.
    Snippet for Custom ObjectStore @Override public Serializable remove(Serializable key) throws ObjectStoreException { return getMyStore().remove(key); } @Override public boolean isPersistent() { return false; } @Override public void clear() throws ObjectStoreException { getMyStore().clear(); } }
  • 7.
    Snippet for Custom ObjectStore The above provided snippet can be used to create a custom Onject store. This object store is storing objects inside a HashTable
  • 8.
    Configuration Provide this objectstore in the components which requires object stores like idempotent filter, Until Successful scope etc.
  • 9.