GAE/J アプリで memcache API 呼び出しをプロキシするために、 com.google.apphosting.api.ApiProxy.Delegate インターフェイスを実装しています。プロキシ コードが実行されます。つまり、memcache API 呼び出しをインターセプトしています。
public class CustomDelegate implements Delegate {
// ...
public byte[] makeSyncCall(
Environment environment,
String packageName,
String methodName,
byte[] request) throws ApiProxyException
{
return this.baseDelegate.makeSyncCall(environment, packageName, methodName, request);
}
// ...
}
ここで、memcache の get/set/increment リクエスト自体を調べたいと思います。makeSyncCall()のbyte[] リクエストパラメータをインスタンスにデシリアライズする
- com.google.appengine.api.memcache.MemcacheServicePb$MemcacheSetRequest
- com.google.appengine.api.memcache.MemcacheServicePb$MemcacheGetRequest
- com.google.appengine.api.memcache.MemcacheServicePb$MemcacheIncrementRequest
* ホットキーの検出 * アイテムのサイズの追跡
byte[] リクエストを Memcache*Request インスタンスに転送するにはどうすればよいですか?