Requirements for the Cached Elements Key
Each cached element is associated with a key. Integration Server has the following requirements for the key value used in the pub.cache services:
The key must be immutable and serializable.
IBM recommends using a java.lang.String for the key.
Do not use an IData object as a key as IData objects are mutable. If an IData object is used as the key when placing a value in cache using a pub.cache* service, later attempts to retrieve the value using the same key might fail.
Integration Server includes the server configuration parameter watt.server.cache.iDataKey.toString that specifies whether a com.wm.data.IData object used as a key in one of the pub.cache* services is converted to an immutable String before accessing the cache. However, if the IData object is modified after it has been used as a key, Integration Server will not be able to retrieve values stored with the key regardless of the value of watt.server.cache.iDataKey.toString.
The key must be an object that overrides the equals() method from java.lang.Object. Failure to use such an object can cause the service to return incorrect results.