2016-09-21 13 views
0

Google App EngineにJerseyアプリをデプロイするときに問題が発生しました。ローカルとクラウドの動作が異なります。詳細は次のとおりです。Google App Engineの動作がローカルの開発環境とクラウドで異なる理由はありますか?

JerseyにCustomMapperProviderを追加します。次のように

@Override 
public Set<Class<?>> getClasses() { 

    Set<Class<?>> resources = new HashSet<Class<?>>(); 
    resources.add(CustomMapperProvider.class); 
    return resources; 
} 

そしてCustomMapperProviderは次のとおりです。

public class CustomMapperProvider implements ContextResolver<ObjectMapper> { 

@Override 
public ObjectMapper getContext(Class<?> type) { 
    /** Generate Default mapper*/ 
    ObjectMapper mapper = new ObjectMapper(); 

    SimpleModule module = new SimpleModule(); 
    module.addDeserializer(User.class, new UserDeserializer()); 
    module.addSerializer(User.class, new UserSerializer()); 
    mapper.registerModule(module); 
    return mapper; 
    } 
} 

このCustomeMapperProviderはユーザークラスJSONのカスタム生成のためです。

問題は、私はローカルの開発環境でアプリケーションをテストし、UserSerializerはJSON生成のための仕事であるということです。しかし、私はそれをクラウドにデプロイしました。その結果は異なります。結果によると、カスタムJSONシリアライザによってJSONが生成されないことがわかりました。

Google App Engineとクラウドコンピューティングとローカル開発環境の間には何か制限がありますか?

答えて

1

私が遭遇した別の動作は以下のとおりです。

  1. GAEは、いくつかの制限があり
  2. データストアは、多分、異なるデータ

ので、ちょうどより多くのログを作成し、それをチェックしていますGAEコンソール

0

ここで違いを示すサンプルを提供する必要があります。 サンプルがないと、あなたのローカルボックスはウィンドウでGAEはLinux VMです。これが問題だろうか?次のように

+0

いいえ、私のローカル開発環境はFedora 24です。問題を再現するために後で小さなデモを作成しましょう。 –

関連する問題