Google App Engine在本地开发环境和云之间的行为有什么不同?

时间:2016-09-21 13:02:31

标签: java google-app-engine jersey jackson

我在Google App Engine上部署Jersey应用时遇到问题。本地和云之间的行为是不同的。细节是:

我为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用于自定义生成User Class JSON。

问题在于,我在本地开发环境中测试应用程序,而UserSerializer适用于JSON生成。但我在云上部署它,结果是不同的,根据结果,我知道JSON不是由自定义JSON序列化程序生成的。

Google App Engine在云端和本地开发环境中是否存在任何限制或任何差异?

2 个答案:

答案 0 :(得分:1)

我遇到的不同行为如下:

  1. GAE有一些限制
  2. 数据存储区可能有不同的数据
  3. 因此,只需制作更多日志并在GAE控制台中进行检查

答案 1 :(得分:0)

您应该提供显示差异的样本。 没有样品我假设你的本地盒子是windows,GAE是linux vm。这可能是问题吗?