Jump to: navigation, search

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

EclipseLink MOXy

Mailing ListForumsIRC
Help Wanted
Bug Day
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:
  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:
  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");

Version: 2.2.0 - DRAFT
Other versions...