Scalaで、なぜかGAE/JのMemcacheサービスをJCacheを経由して使う方法が分からない。
直接APIを使ってよいなら下のソースな感じで大丈夫なのだけど。
import com.google.appengine.api.memcache._
class memcached {
val cache:MemcacheService = MemcacheServiceFactory.getMemcacheService();
def setValue(strKey:String,strValue:String) = {
cache.put(strKey,strValue);
}
def getValue(strKey:String):String = {
cache.get(strKey).asInstanceOf[String];
}
}
JCache経由にしようとしたら、出てしまうエラー。Kってjava.util.Map
のKっぽいんだけど解決方法が分からない。。 ~snip~
[scalac] D:\work\workspace\test\src\com\digipepper\memcached.scala:51: error:
type mismatch;
[scalac] found : String
[scalac] required: K
[scalac] cache.put(key, value);
[scalac] ^
~snip~
お分かりの方は是非コメントください。一部ではGAE/JをPythonで使うべきかJavaで使うべきか、から発展した大変な議論が巻き起こったようですが、私はのんびりとScalaでがんばります。