我在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在云端和本地开发环境中是否存在任何限制或任何差异?
答案 0 :(得分:1)
我遇到的不同行为如下:
因此,只需制作更多日志并在GAE控制台中进行检查
答案 1 :(得分:0)
您应该提供显示差异的样本。 没有样品我假设你的本地盒子是windows,GAE是linux vm。这可能是问题吗?