I apologize if this is the wrong place for my question. Please feel free to move it if needed. It was the closest one I could find related to my issue.
Sorry for the long description, I wanted to give you a little background of the issue. My question is at the bottom above the code examples.
In our production environment we are experiencing an intermittent issue where our client application will time out while trying to retrieve data from our object cache. We can see that we are getting the data and putting it on the cache, but occasionally the client application has already timed out and moved on. We are using the Websphere 7 application server.
We are seeing this error message in our trace logs:
[7/3/12 11:10:08:018 PDT] 00001dff Cache 3 updatePeerCaches() DRS is not ready!! - CE will be sent during bootstrap CE=
I've embedded a link which explains this error; however to summarize:
Messages like "updatePeerCaches() DRS is not ready!! - CE will be sent during bootstrap CE=" in the dynamic cache trace log indicate that replication has not been initialized and setup is not complete for this cache instance. All the cache data put into this cache instance cannot be sent immediately to the servers. The cache data will be sent to other servers during the process of bootstrap. The cache data for bootstrap is only limited to the memory cache but not the disk cache, if disk offload is enabled.
This initialization only happens for the first look-up operation after server start. Subsequent access of cache instance should not have this issue.
(http://www-01.ibm.com/support/docview.wss?uid=swg21313480)
So based on the above information it appears we could be attempting to get data from the cache when it hasn't been completely initialized; which would explain our intermittent timeouts. It says that this should only occur on the first initialization; however we're seeing it multiple times after the server has been started and our application has been running.
Now the way it is setup a InitialContext.lookup() is done for every get/put. I'm wondering if this could cause the multiple replications with the object cache. Can anyone with more expertise confirm if that is possible?
Thank you for your assistance.
Here is the code:
getCacheMap() Method
get Method:
put Method: