首先,应用程序运行于 Server One,并通过调用 DistributedMap API 将 Object A 放入其本地缓存中。通过合适的配置,DRS 可以在整个集群范围内复制缓存的对象并保持缓存数据的一致性。因此,将 Object A 复制到 Server Two 的本地缓存。当应用程序运行于 Server Two(假如 Server One 遇到问题或根据负载平衡策略将事务提交到 Server Two)时,应用程序可以从 Server Two 的本地缓存中获得 Server One 的 Object A。
WebSphere Application Server 通过使用缓存实例存储和管理缓存的 Java 对象。缓存实例还可以用于对相关的对象进行逻辑分组。特定实例的缓存中存储的对象不会受到其他缓存实例的影响。如上所述,DistributedMap 公共接口使得应用程序可以直接访问缓存实例。
应用程序可以存储和检索任何实现了 java.util.Map 接口的对象。您所缓存的任何其他 Java 对象都必须实现 java.io.Externalizable 或 java.io.Serializable 接口。集群中的服务器可以通过使用其 JNDI 名称来访问缓存实例。这些服务器必须位于同一个复制域。下面的代码示例显示了应用程序如何通过其 JNDI 名称查找缓存实例,将对象放入缓存实例中,并稍后对其进行检索。
Import javax.naming.InitialContext;
Import com.ibm.websphere.cache.DistributedMap;
...
InitialContext context=new InitialContext();
DistributedMap map=(DistributedMap)context.lookup("cache/example_cache_instance"

;
map.put("cache_id", yourJavaObject);
YourJavaObject obj=(YouJavaObject)map.get("cache_id"

;