Wie konfiguriert man Apache CXF, um einen einzelnen JAXBContext über eine Nicht-Spring-Konfigurationsdatei zu verwenden?

9

Ich habe gelesen, dass die gemeinsame Nutzung eines einzelnen JAXBContext-Objekts über mehrere Threads die CPU-Auslastung einer Anwendung, die JAXB verwendet, erheblich reduzieren kann. Ein Beweis dafür ist hier . Wir verwenden derzeit Apache CXF zur Entwicklung von Webdiensten. Apache CXF muss standardmäßig JAXB verwenden.

  • Laut diesem kann Apache CXF konfiguriert werden um eine einzelne Instanz von JAXBContext über eine Konfigurationsdatei zu verwenden.
  • Laut diesem können wir eine Konfigurationsdatei für CXF bereitstellen. Diese Konfigurationsdatei ist eine Spring-Konfigurationsdatei.
  • Laut diesem kann Apache CXF ohne Spring verwendet werden.

Wie kann ich Apache CXF unter Verwendung der obigen Informationen so konfigurieren, dass ein einzelner JAXBContext ohne Verwendung einer Spring-basierten Konfigurationsdatei verwendet wird, da ich eine Codebasis suche, die den Servlet-Transport ohne Spring verwendet? Gibt es weitere Konfigurationsparameter, die für den JAXBContext hinzugefügt werden können, um die Leistung weiter zu verbessern?

    
CKing 14.09.2012, 07:38
quelle

1 Antwort

0

Sie können die vorgeschlagene Lösung hier ausprobieren , basierend auf der Definition eines globalen JAXBContext, aber ich bin mir nicht sicher, ob es gut mit jax-rs spielen wird.

Eine einfachere Lösung ohne Feder wäre es, Ihre eigene @Provider zu definieren, org.apache.cxf.jaxrs.provider.JAXBElementProvider zu erweitern und sie in cxf zu registrieren, zum Beispiel mit der Datei openejb-jar.xml , wenn Sie mit tomee .

Ihr Provider würde folgendermaßen aussehen:

%Vor%

und es müsste in der WEB-INF/openejb-jar.xml -Datei in Ihrer Webanwendung wie folgt registriert werden:

%Vor%     
tonio 30.08.2017 13:26
quelle

Tags und Links