+

Search Tips   |   Advanced Search

Use the DistributedMap and DistributedObjectCache interfaces for the dynamic cache

By using the DistributedMap or DistributedObjectCache interfaces, Java EE applications and system components can cache and share Java objects by storing a reference to the object in the cache.

The DistributedMap and DistributedObjectCache interfaces are simple interfaces for the dynamic cache. Using these interfaces, Java EE applications and system components can cache and share Java objects by storing a reference to the object in the cache. The default dynamic cache instance is created if the dynamic cache service is enabled in the administrative console. This default instance is bound to the global JNDI namespace using the name services/cache/distributedmap.

Multiple instances of the DistributedMap and DistributedObjectCache interfaces on the same Java virtual machine (JVM) enable applications to separately configure cache instances as needed. Each instance of the DistributedMap interface has its own properties.

Tip: For more information about the DistributedMap and DistributedObjectCache interfaces, see the API documentation for the com.ibm.websphere.cache package. See Additional Application Programming Interfaces (APIs) for more information.

If we are using custom object keys, we must place your classes in a shared library. We can define the shared library at cell, node, or server level. Then, in each server create a class loader and associate it with the shared library definedd. See Manage shared libraries and Class loader settings for more information.

Place JAR files in a shared library when we deploy the application in a cluster with replication enabled. Simply turning on replication does not require a shared library; however, if we are using application-specific Java objects, such as cache key or cache value, those Java classes are required to be in the shared library. If those values are not in a shared library, we will get ClassNotFound exceptions when the data replication service (DRS) attempts to deserialize those objects on the receiving side.

In a clustered environment, the content you place in cache might be shared with other servers in the cluster. The content might also be offloaded to disk. If we intend to have the cached objects shared or offloaded to disk, we must make these particular objects serializable. If the objects you place in cache are non-serializable, specify that the sharing policy for these objects is not shared. The DistributedMap interface DistributedMap interface contains information about how to specify the sharing policy for a cached object. Specifying a sharing policy other than not shared for non-serializable objects can result in poor system performance.

There are four methods for configuring and using cache instances:


Tasks


Subtopics


Related:

  • Cache instances
  • Use the dynamic cache service
  • Configure dynamic cache disk offload
  • Use object cache instances
  • Java virtual machine cache settings