LLMpediaThe first transparent, open encyclopedia generated by LLMs

JAXB

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 46 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted46
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
JAXB
NameJAXB
DeveloperOracle Corporation
Released2003
Latest releaseN/A
Programming languageJava
Operating systemCross-platform
LicenseCDDL and GPL (with Classpath Exception)

JAXB JAXB is a Java-based framework that maps between XML and Java object models, providing tools for schema compilation, marshalling, and unmarshalling. It integrates with Java SE and Java EE runtimes and is commonly used alongside XML schema standards, web services stacks, and enterprise integration technologies. JAXB simplifies data binding for applications that interact with XML artifacts produced by specifications and platforms such as SOAP, WSDL, and various industry schemas.

Overview

JAXB provides a system for binding XML schemas to Java representations and for converting between XML documents and Java objects at runtime. The project complements standards and implementations such as Simple Object Access Protocol, Web Services Description Language, XML Schema, Java Platform, Standard Edition, Java Enterprise Edition, and frameworks like Apache CXF and Spring Framework. JAXB-generated classes often participate in toolchains involving Maven, Gradle, Ant, and continuous integration systems used by organizations like Oracle Corporation and Eclipse Foundation.

Architecture and Components

The framework consists of several coordinated components: a schema compiler, a runtime marshaller, an unmarshaller, an annotation model, and an object factory. The schema compiler converts XML Schema definitions into Java classes that adhere to conventions used by runtimes such as those from GlassFish and OpenJDK. The marshalling component serializes Java object graphs to XML streams consumable by systems like Apache Tomcat, JBoss, and IBM WebSphere. The unmarshaller reconstructs object graphs from XML documents produced by producers like Microsoft IIS-hosted services or Amazon Web Services APIs. Developers integrate these components with tools from NetBeans, Eclipse (software), and IntelliJ IDEA.

Usage and Examples

Typical usage starts with an XML Schema Definition processed by the schema compiler to generate Java classes and binding metadata; alternatively developers write annotated classes to drive the runtime. Generated artifacts interoperate with service endpoints defined in WSDL 1.1 and WSDL 2.0 documents and with message exchanges using HTTP/REST gateways or SOAP intermediaries. Build pipelines often use plugins maintained by Apache Software Foundation projects, Maven Central, or vendor toolchains from Oracle Corporation. Example workflows appear in integration guides from Red Hat, Microsoft, and cloud providers like Google Cloud Platform.

Annotations and Binding Customization

Binding customization leverages Java annotations declared in packages that reference standards such as JSR 222 and uses extension points supported by vendors like Eclipse Foundation and Oracle Corporation. Common annotations influence element name mapping, attribute handling, and namespace qualification, aligning generated classes with schema constructs used by systems like OASIS, W3C, and industry consortia. Customization files and vendor bindings allow adaptation to conventions from middleware vendors including IBM, Red Hat, and SAP.

JAXB Implementations and History

Multiple implementations have existed from commercial and open-source stewards. The original reference implementation was associated with projects sponsored by Sun Microsystems and later maintained by Oracle Corporation and contributors in the Eclipse Foundation ecosystem. Alternative implementations and derivatives were produced by vendors and communities around GlassFish, Metro (web service stack), Apache CXF, and entries in OpenJDK distributions. The technology evolved alongside specifications and initiatives like JSR 222 and was affected by platform modularization in releases from Oracle Corporation and downstream in AdoptOpenJDK and other builds.

Performance and Limitations

Performance characteristics depend on object graph complexity, schema design, and runtime optimizations provided by virtualization stacks such as HotSpot (virtual machine) and garbage collectors used in OpenJDK builds. Large schemas and deep hierarchies can increase memory footprints and CPU costs during marshalling/unmarshalling compared to streaming APIs employed by projects like StAX and SAX-based processors. Interoperability constraints occur when interacting with XML Infoset variations produced by implementations such as Microsoft .NET Framework serializers or bespoke producers from enterprise vendors like Oracle Corporation and IBM.

Security Considerations

When processing untrusted XML, implementations must mitigate risks demonstrated in incidents involving XML processing libraries in platforms like Apache Axis, Microsoft .NET Framework, and PHP. Typical mitigations include disabling external entity resolution, limit enforcement for document size and depth, and validation against trusted schemas maintained by standards bodies like W3C and OASIS. Deployments in environments provided by Amazon Web Services, Google Cloud Platform, or enterprise middleware from Red Hat and IBM require configuration aligned with platform hardening guides and vendor advisories.

Category:Java (programming language) libraries