2017-01-31 3 views
1

MemCacheにアクセスしようとすると、いつでもjava.lang.NoSuchFieldError: usingExperimentalRuntimeが返されます。私が見つけたものからそのフィールドに関する文書はありません。私が気づいていない設定オプションはありますか?java.lang.NoSuchFieldErrorを取得する:GAE MemCacheでExecutionRuntimeを使用する

ここでは、ソース・コードです:

MemcacheService syncCache = MemcacheServiceFactory.getMemcacheService(); 
syncCache.setErrorHandler(ErrorHandlers.getConsistentLogAndContinue(Level.ALL)); 

Object cacheObject = syncCache.get("arbitrary"); 

最後の行は、このエラーでクラッシュすること(部分的なスタックは私のコードまでトレース):

Caused by: java.lang.NoSuchFieldError: usingExperimentalRuntime 
     at com.google.appengine.api.memcache.MemcacheServicePb$MemcacheGetRequest.writeTo(MemcacheServicePb.java:1511) 
     at com.google.appengine.repackaged.com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:41) 
     at com.google.appengine.api.memcache.MemcacheServiceApiHelper.makeAsyncCall(MemcacheServiceApiHelper.java:97) 
     at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.doGet(AsyncMemcacheServiceImpl.java:405) 
     at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.getIdentifiable(AsyncMemcacheServiceImpl.java:422) 
     at com.google.appengine.api.memcache.MemcacheServiceImpl.getIdentifiable(MemcacheServiceImpl.java:54) 
     at com.myCode.CacheOrDbUtil.getUser(CacheOrDbUtil.java:27) 

これはとても奇妙になり、何がコードがあったことですMemCacheを使用した単体テストが完了しました。今彼らは失敗している。もちろん、私は私がやったすべてのものを元に戻す試みたが、成功せずにきました:

  • のアップグレードは、最後にリセットマシン
  • を再起動する他のすべてのサーバー
  • をシャットダウンするのgcloud
  • のダウングレード
  • をのgcloud既知の適切なコードの改正

答えて

2

どちらかのうち、(1.9.48に滞在:それはちょうどリストされていない - 私はそれがあります...

なぜMavenのは、まだウェブサイトに表示されていないか分かりません1.9.49にアップグレード来週今のクラウドSDKでのボックス)とはhttps://github.com/GoogleCloudPlatform/appengine-maven-plugin

<plugin> 
    <groupId>com.google.appengine</groupId> 
    <artifactId>appengine-maven-plugin</artifactId> 
    <version>1.9.49</version> 
</plugin> 
からあなたのpom.xml/Gradleのは、標準のAppEngineのMavenプラグインをすべて1.9.48、 を使用しているファイルを作成したり、使用してください

または同等のGradleプラグインAppEngine(Cloud SDKではなく..)

+0

私は、テストサーバーと開発サーバーの両方に1.9.48を使用するようにgradleを設定しました。ありがとう!デベロッパーが最新版( '+'バージョンのgradle)を使用し、テストで1.9.46を使用する前に、 1.9.49に両方を設定すると、devサーバーで動作しませんでした。最新の安定したリリースはうまくいった。 –

0

は1.9.49

にappEngineVersionを更新しよう10
+0

私は元の投稿を作成する前に昨日更新しましたが、それはapp-engine-javaをバージョン1.9.48にしました。 Pythonのバージョンは1.9.49ですが、私はPythonを使用していません。 Javaエンジンの1.9.49バージョンはどこで入手できますか? –

関連する問題