From 50b0ecab6c88cc2de12dc7d111ad80a198989543 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 4 Dec 2014 17:22:16 +0100 Subject: [PATCH] BUG-2459: Fix netconf-monitoring not reusing JAXB context JAXBContext can be freely reused, so cache it, as it has significant footprint in testing tool. Change-Id: If2f53b9dfd4a1d30390580fd800aa2f5eb4e2b72 Signed-off-by: Robert Varga --- .../netconf/monitoring/xml/JaxBSerializer.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java b/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java index 45f02af789..e80e3f82b1 100644 --- a/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java +++ b/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java @@ -16,12 +16,20 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; public class JaxBSerializer { + private static final JAXBContext JAXB_CONTEXT; + + static { + try { + JAXB_CONTEXT = JAXBContext.newInstance(NetconfState.class); + } catch (JAXBException e) { + throw new ExceptionInInitializerError(e); + } + } public Element toXml(final NetconfState monitoringModel) { final DOMResult res; try { - final JAXBContext jaxbContext = JAXBContext.newInstance(NetconfState.class); - final Marshaller marshaller = jaxbContext.createMarshaller(); + final Marshaller marshaller = JAXB_CONTEXT.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); -- 2.36.6