Translate

2013年2月27日水曜日

Google App Engine(1.7.4SDK)上のmemcacheは全部取得する系メソッドが使用できない




Google App Engine SDK 1.7.4の
memcache実装はjsr101cache-1.1.jarが使用されているのだけど
どうもこのライブラリのCache実装net.sf.jsr107cache.Cacheには
keySet(): キャッシュ上の全部のキーを取得する
とか
values(): キャッシュ上のすべての値を取得する
などの
全部ごっそり取る系のメソッドを使うと
App EngineのコンソールでLogを見ると
#以下はvalues()の場合

jp.freeex.fourtypes.server.m.StatisticsManager saveResults: exception occured
java.lang.UnsupportedOperationException
 at com.google.appengine.api.memcache.jsr107cache.GCache.values(Unknown Source)

という UnsupportedOperationException が出て使用できないことがわかった..

普段JCacheなんて使い慣れてないから
よく知らなかった..

ってことはメモリへ溜め込んだDB格納レコードを
cronでごっそり保存とかできないんだ..

TaskQueueにしても毎回キュー処理実行されちゃうからなあ..

それか1つのキャッシュにCollection載せてaddしてくか..



にしても..Google App Engine
実行環境に依存する問題多すぎだ..

それなりに慣れてないと使えないなんて
いちげんさんに厳しすぎ..



0 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...