在WebSphere Application Server上更改默认JSON提供程序

时间:2013-11-19 14:22:00

标签: json jaxb websphere jax-rs

我需要知道如何在WebSphere Application Server环境(版本8.0和8.5)上覆盖默认的JSON提供程序。由于杰克逊图书馆版本1.6(https://github.com/FasterXML/jackson-module-jaxb-annotations/issues/3)上发现了一个问题,我需要这样做。

如果有人能提供帮助,那将非常受欢迎。

1 个答案:

答案 0 :(得分:1)

我不知道你是否想要完全避免使用杰克逊,或者你只想要一个不同的版本。

在您的应用程序中,您可以注册所需的提供程序。例如,要使用Jettison,您需要以下内容:

import org.apache.wink.providers.jettison.JettisonJAXBProvider;

import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;

public class YourApplication extends Application {

    @Override
    public Set<Object> getSingletons() {
        Set<Object> singletons = new HashSet<Object>();
        JettisonJAXBProvider jaxbProvider = new JettisonJAXBProvider();
        singletons.add(jaxbProvider);
        return singletons;
    }
}

如果您需要不同的Jackson版本,为什么不将它放入WEB-INF / lib并将Web模块类加载策略设置为PARENT_LAST?