全局注册XmlAdapter以用于不同包中的任何类

时间:2011-10-28 10:40:31

标签: java web-services jaxb cxf

我正在使用CXF 2.4和JAXB。

我可以为我的owm类的所有实例(例如LWDate)设置全局XmlAdapter吗?

我写了一堂课:

public class LWDateAdapter extends XmlAdapter<Date, LWDate>

现在我必须在我计划与CXF一起使用的每个参数,方法或包中添加@XmlJavaTypeAdapter。例如。

@WebMethod void test (@WebParam(name="Birthdate") @XmlJavaTypeAdapter(LWDateAdapter.class) LWDate pBirthdate){}

我想问CXF / JAXB总是将我的类LWDate绑定到java.util.Date是否可能?

更新 @XmlJavaTypeAdapter适用于从版本2.4.4 according to that issue开始的软件包级别。

1 个答案:

答案 0 :(得分:5)

对于在包级别使用@XmlJavaTypeAdapter注释的用例,这是您的最佳选择。以下是我对Joda-Time类使用此策略的帖子:

如果您有一个始终希望使用XmlAdapter处理的域类,则可以在类型级别使用@XmlJavaTypeAdapter注释: