JAXBXML,当XML';s整数值为>;Java Long';s最大值

JAXBXML,当XML';s整数值为>;Java Long';s最大值,java,jaxb,unmarshalling,javax.xml,Java,Jaxb,Unmarshalling,Javax.xml,假设我试图用整数字段(xs:integer)解组一个XML文件: 1313154645613153154156416 该值是>Java Long的最大值 当Jaxb试图解组异常时,我希望获得并捕获异常 相反,没有例外,我的pojo的object.Value设置为null 有没有办法检测何时发生这种情况并记录下来 我尝试过使用vec,但它没有捕获任何内容(空列表): 不受限制,它可以是任何长度的值。 可比较的Java类型是biginger 但仅限于: 且仅限于: 因此,如果希望XML模式验证器检查

假设我试图用整数字段(xs:integer)解组一个XML文件: 1313154645613153154156416

该值是>Java Long的最大值

当Jaxb试图解组异常时,我希望获得并捕获异常

相反,没有例外,我的pojo的object.Value设置为null

有没有办法检测何时发生这种情况并记录下来

我尝试过使用vec,但它没有捕获任何内容(空列表):

不受限制,它可以是任何长度的值。
可比较的Java类型是
biginger

但仅限于:

且仅限于:

因此,如果希望XML模式验证器检查值范围,请使用适当的类型。

不受限制,它可以是任意长度的值。
可比较的Java类型是
biginger

但仅限于:

且仅限于:

因此,如果希望XML模式验证器检查值范围,请使用适当的类型

    ValidationEventCollector vec = new ValidationEventCollector();

    JAXBContext jaxbContext = JAXBContext.newInstance(MyPojo.class);
    Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
    jaxbUnmarshaller.setEventHandler(vec);
    System.out.println(vec.getEvents().length);
   MyPojo model = (MyPojo) jaxbUnmarshaller.unmarshal(new FileInputStream(file));
maxInclusive = 2147483647
minInclusive = -2147483648
maxInclusive = 9223372036854775807
minInclusive = -9223372036854775808