当前位置: 首页 > 知识库问答 >
问题:

Jboss 7.1.1-Jackson ContextResolver<ObjectMapper>仅适用于一种部署

董康平
2023-03-14

我想在 Jboss 7.1.1 上部署两个 rest webapp。服务器

两个应用中的 Rest 请求都会生成和使用 Json。我使用 jackson 提供程序来序列化和反序列化对象

现在,我需要为每个webapp定制ObjectMapper配置。所以为了解决这个问题,我添加了实现ContextResolver的@Provider类。每个项目一个。Fe。我的一个班级看起来是这样的:

@provider
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class JacksonConfig implements ContextResolver<ObjectMapper> {
   private final ObjectMapper objectMapper;
   public JacksonConfig()
   {
       objectMapper = new ObjectMapper();
       objectMapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
   }
   @Override
   public ObjectMapper getContext(Class<?> objectType) {
       return objectMapper;
   }
}

当我在jboss上只部署其中一个项目时,它工作得很好。当我尝试部署两者时,只有第一个初始化项目使用定义的objectMapper。另一个从不从ContextResolver类调用getContext方法。我做错了什么?

编辑!:

经过多次试验,我决定将解析json的方法从jackson更改为staxon。我希望至少这种方法会运行良好。但不是...序列化在两个已部署的应用程序上都可以完美运行。但同样,不知何故,jboss决定在反序列化过程中使用jackson而不是staxon。同样,我在部署后首先调用的应用程序总是运行良好。但是第二个使用jackson(不知道为什么...)调用异常。总是...

Jboss有什么问题吗?也许我只是做错了什么,但我不知道在哪里。有人知道我应该去哪里看吗?

共有1个答案

常波鸿
2023-03-14

看来我找到了解决这个问题的方法。这是resteasy的一个已知问题,可以通过内置选项删除:

为了解决这个问题,我只需将param添加到web。我的项目的xml:

<context-param>
    <param-name>resteasy.use.deployment.sensitive.factory</param-name>
    <param-value>false</param-value>
</context-param>

我在Resteasy jira中找到了这个解决方案。对我来说,在任何jboss或令人不安的相关文档中都没有信息,这真的很奇怪......

 类似资料:
  • 问题内容: (我很惊讶无法在stackoverflow上找到这个问题,我只能归咎于糟糕的谷歌搜索,必须指出所有重复的问题…) 这是一个玩具类,它返回与您放入的玩具相反的东西。目前,它适用于整数,但只需要很小的改动就可以适用于String。 我想做的是使类通用,但仅适用于两个或三个可能的类型。所以我想写的是: 正确的语法是什么?我的Google-fu让我失败了… :( 编辑:似乎 没有 正确的语法,

  • 我在pgsql上有一个名为(超过100万行)的表,但我也有很多重复项。我选择了3个字段:,,。 我想用和随机选择它们,所以我这样做是为了在我的PHP脚本中节省一些内存。 但我如何才能做到这一点,这样它只会给我一个名单,没有重复的名字。 例如,将返回,但不会返回。名称字段是最重要的,每次我选择时必须在列表中唯一,并且必须是随机的。 我试过使用,但它希望我在中或在一个加积函数中也有id和元数据,但我不

  • 问题内容: 我正在使用Hibernate3.3.1,我想在人员和指定公司之间建立关系。他们应该松耦合,但我想安排通过级联创建公司,而不是显式调用saveOrUpdate(newCompany)。 我定义了以下实体: 在我的小岛内,我正在执行以下操作: 我得到一个例外 org.hibernate.TransientObjectException:对象引用了一个未保存的瞬态实例- 在刷新之前保存该瞬态

  • 我正在开发一个项目,它以前在API23和22上都能很好地工作,然而,当应用程序一启动它就会崩溃(甚至连activity都无法加载)--只在API22上,在API23上它能很好地工作。日志对我没有太大帮助,我已经不知道是什么导致了这个错误的发生。它抱怨的类是清单中定义的App类。下面是一些可能有助于分析的代码: null public class App扩展com.orm.sugarapp{ } 应

  • 我正在使用连接到web服务 这仅适用于AsyncTask。我无法在普通活动上执行上述语句(没有AsyncTask) 这是故意的行为,还是我错过了什么。 顺便提一下,这是我的第一个问题

  • 我使用spring boot和spring boot starter hateoas开发了一个rest服务。我在定制ObjectMapper时遇到了一个问题。代码如下: 一个pplication.java 依赖关系: 账单java: BillController.java: 我得到的输出是: 但是我需要“账单”代替“billList”。这是因为ObjectMapper没有被定制。我是否错过了任何配