Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping Dynamic/Specifying the EclipseLink Runtime

EclipseLink MOXy

Eclipselink-logo.gif
EclipseLink
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source


Specifying the EclipseLink Runtime

In order to use EclipseLink MOXy as your JAXB implementation, you must identify the EclipseLink JAXBContextFactory in your jaxb.properties file.

  1. Create a text file named jaxb.properties with the following content:
    javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
  2. Copy the file to the same package (directory) in which your model classes reside.
  3. Create a JAXBContent using the standard APIs:
    JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);

Because you do not need to change any application code, you can easily switch between different JAXB implementations.

The JAXBContextFactory can

  • Create a JAXBContext from an array of Classes and a Properties object
  • Create a JAXBContext from a context path and a ClassLoader

Specifying Dynamic JAXB Bootstrapping in EclipseLink Runtime

You can create JAXBContexts by specifying a factory class in jaxb.properties file and then using the JAXBContext.newInstance() API.

  1. Create a jaxb.properties, specifying DynamicJAXBContextFactory as the factory used to build new JAXBContexts.
  2. Place the jaxb.properties on your classpath within the package in which the DynamicEntites will be generated.
    In this example, the mynamespace package will contain the DynamicEntities:
    javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContextFactory
  3. Use the newInstance(String contextPath) method to create a DynamicJAXBContext.
    When this method is called, MOXy attempts to locate a jaxb.properties file on the classpath in the package specified by contextPath, and use the specified factory.
    DynamicJAXBContext jaxbContext = (DynamicJAXBContext) JAXBContext.newInstance("mynamespace");


Eclipselink-logo.gif
Version: 2.2.0 - DRAFT
Other versions...

Back to the top