2009-09-01 18 views
24

Cualquiera me puede decir cuál es mejor (JAXB o Apache XMLBeans) teniendo en cuenta el rendimiento de los archivos de más de 10 Mb.JAXB vs Apache XMLBeans

+1

** Como nota adicional para los desarrolladores: ** actualmente el proyecto XMLBeans se retiró oficialmente y el desarrollo activo se detiene. Preste atención al mensaje en la parte superior de Apache XMLBeans [página de inicio] (https://xmlbeans.apache.org/) (cita): _ "2014/05/23 - Apache XMLBeans ha sido ** retirado **. Para más información, explore el [Apache Attic] (http://attic.apache.org/projects/xmlbeans.html). "_ – informatik01

Respuesta

18

Ambos tienen prestaciones similares, sin embargo, incluso si Apache XMLBeans parece presentar un mejor rendimiento, normalmente elijo JAXB porque no quiero aumentar el tamaño de mis aplicaciones con herramientas de terceros.

Con Apache XMLBeans necesita un pequeño paquete de alrededor de 2 MB, probablemente sea fácil de aprender y esté bien documentado. Tener soporte completo de la especificación XSD y espacios de nombres, y el mapeo solo a través de la definición de esquema XML (XSD). También parece usar API obsoletas.

+0

Estoy tratando de crear una aplicación webstart así que el tamaño de la aplicación final es muy importante y probablemente el factor más importante en mi decisión ya que la diferencia en el rendimiento no es demasiado grande. – Simon

1

de acuerdo con bruno. JAXB se incluye con Java por un motivo

+4

No, porque ganó la lotería xml-java-object-mapping-tool :) – Nico

+0

Mientras que "lotería" no suena como una selección por calidad sino por suerte ... – Henning

+9

JAXB no es una herramienta sino una especificación (http : //jcp.org/en/jsr/detail? id = 222). La implementación de JAXB de Metro JAXB (https://jaxb.dev.java.net/) está incluida en Java SE 6. Hay otras IMls de JAXB como MOXy (http://www.eclipse.org/eclipselink/moxy.php) y JaxMe (http://ws.apache.org/jaxme/). –

4

Prefiero XMLBeans, porque viene con una práctica herramienta llamada "inst2xsd" que le permite generar un esquema XML a partir de un documento de instancia XML. JAXB no puede hacer esto.

Ver http://xmlbeans.apache.org/docs/2.0.0/guide/tools.html#inst2xsd

+5

JAXB 2 puede generar esquemas XML, consulte http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/xml/bind/JAXBContext. html # generateSchema (javax.xml.bind.SchemaOutputResolver) –

+3

JAXB 2 no puede generar el esquema desde xml. La herramienta schemagen solo genera el esquema de las clases de Java. – Kamran

+0

Ver http://stackoverflow.com/questions/7212064/is-it-possible-to-generate-a-xsd-from-a-jaxb-annotated-class :) – everlasto

7

El arquitecto de XMLBeans escribió acerca de por qué eligió para construir XMLBeans, a pesar de que JAXB era el estándar establecido. Eche un vistazo a su blog, específicamente el problems with jaxb La ventaja más convincente fue la sustitución de tipo.

+14

La publicación del blog 'problems with jaxb' se refiere a JAXB 1 (JSR-31). JAXB 2 (JSR-222) es un paso adelante. Esto se debe en parte a las contribuciones realizadas por David Bau, que fue miembro del grupo de expertos JAXB 2. –

Cuestiones relacionadas