0

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 インスタンスに転送するにはどうすればよいですか?

4

1 に答える 1