Java JaxbDateSerializer XmlAdapter-日期转换随机问题
我有一个Java应用程序的日期转换随机问题。我使用了一个类JaxbDateSerializer,它扩展了XmlAdapter来解码字符串日期Java JaxbDateSerializer XmlAdapter-日期转换随机问题,java,date,xmladapter,Java,Date,Xmladapter,我有一个Java应用程序的日期转换随机问题。我使用了一个类JaxbDateSerializer,它扩展了XmlAdapter来解码字符串日期 import javax.xml.bind.annotation.adapters.XmlAdapter; /** * Adapts a Date for custom marshaling. * */ public class JaxbDateSerializer extends XmlAdapter<String, Date> {
import javax.xml.bind.annotation.adapters.XmlAdapter;
/**
* Adapts a Date for custom marshaling.
*
*/
public class JaxbDateSerializer extends XmlAdapter<String, Date> {
/**
* le format yyyyMMddHHmmss
*/
public static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
/**
* le format yyyyMMdd
*/
public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
@Override
public String marshal(Date date) {
return DATE_TIME_FORMAT.format(date);
}
Camel获取CSV文件并处理每一行,但是我们得到了一些关于无效日期的随机错误,例如:
2015-04-09 00:34:43906警告[TraitementTransverseImpl:setActiviteNumero]TraitementTransverseImpl setActivite日期不正确数字:29999999日期周五2015年8月28日11:06:28
我不知道如何找到问题
问候,,
卢多维奇这种行为最可能的原因是因为以下几行:
public static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
...
public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
对象不是线程安全的
您必须为marshall
方法创建这些本地的新实例
@Override
public String marshal(Date date) {
return new SimpleDateFormat("yyyyMMddHHmmss").format(date);
}
@Override
public String marshal(Date date) {
return new SimpleDateFormat("yyyyMMddHHmmss").format(date);
}