有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java与Unmarshaller相比,Unmarshaller的优势是什么

我将JAXB与SAX结合使用。我正在使用解组器来解组数据。有人提到here在结合JAXB和SAX时,我们必须使用解组器而不是解组器。然后解组器不是线程安全的

那么,我应该像下面这样将解组代码包装在一个同步块中吗

synchronized(this) {
    UnmarshallerHandler unmarshallerHandler = unmarshaller.getUnmarshallerHandler();
    reader.setContentHandler(unmarshallerHandler);
    reader.parse(xml);
    Foo foo = (Foo) unmarshallerHandler.getResult();
}

现在,使用解组器比使用解组器有什么优势


共 (1) 个答案

  1. # 1 楼答案

    UnmarshallerHandler的引入是为了方便那些需要显式地使用JAXB和SAX解析器的人(也就是说,他们需要做一些特定的设置)。当您使用Unmarshaller时,JAXB impl正在处理它认为合适的解析

    除非你有理由使用UnmarshallerHandler,否则你可能应该使用Unmarshaller