EclipseLink/UserGuide/MOXy/Runtime/Specifying the EclipseLink Runtime

From Eclipsepedia

Jump to: navigation, search

EclipseLink MOXy

Contents


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, specifying EclipseLink's JAXBContextFactory as the factory used to build new JAXBContexts:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
  1. Copy the file to the same package (directory) in which your model classes reside.
  2. Use the standard JAXBContext.newInstance(Class... classesToBeBound) API to create a JAXBContext:
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);

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

Instantiating a JAXBContext

The following methods on JAXBContext can be used to create new instances of JAXBContexts:

public static JAXBContext newInstance(Class... classesToBeBound) throws JAXBException
 
public static JAXBContext newInstance(Class[] classesToBeBound, Map<String,?> properties) throws JAXBException
 
public static JAXBContext newInstance(String contextPath) throws JAXBException
 
public static JAXBContext newInstance(String contextPath, ClassLoader classLoader) throws JAXBException
 
public static JAXBContext newInstance(String contextPath, ClassLoader classLoader, Map<String,?> properties) throws JAXBException
  • classesToBeBound - List of Java classes to be recognized by the new JAXBContext.
  • contextPath - List of Java package names that contain mapped classes.
  • classLoader - The class loader used to locate the mapped classes.
  • properties - A map of additional properties.