ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
847
847
EMPFEHLEN
-
Hallo Leute.
Folgende Frage: Ich erstelle eine Instance von JAXBContext mit den einzelnen Klassennamen.
Nun wollte ich aber Klassen von einem externen Plug-In hinzufügen. Das ist ja erstmal kein Problem (via Extension Points).
Jedoch kann der Unmarshaler keine Instanz dieser Klassen erzeugen, da sie sich in einem externen Plug-In befinden.
Kennt evtl. jemand eine Lösung?! Evtl. über Extension Points?
Hintergrund ist: Ich habe eine Annotation @XmlAnyElement(lax=true) . Sprich er soll Klassen erstellen die bekannt sind. Diese Klassen sind aber erweiterbar. Sprich es können in Zukunft neue dazukommen, über neue plug-ins via extension points.
Hoffe Ihr könnt mir helfen.
mfg
-
04.06.09 13:19 #2
Wir haben eine ähnliche Problematik damit gelöst, dass der Core dynamisch eine Liste von Packages bekommt, in denen JAXB Klassen drinliegen. Dazu brauchst eine Art Modulsystem / Registrierungsmöglichkeit für Plugins (in unserem Fall über Spring und Hera abgebildet). Dann kannst den Kontext erzeugen und ihm die Liste der bekannten Packages mitgeben und es sollte tun.
Gruß
OllieIn theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
-
Hey!
Danke! Habs nun mit deinem Tipp geschafft.
=> Ich benutze das Eclipse-Buddy-Classloading!
Ich hätte noch eine weitere Frage: Ich teile dem Kontext alle bekannten Klassen mit (spart die ObjectFactory Klasse), jedoch habe ich Probleme bei den Klassennamen:
Habe ich z.B. eine Klasse mit Namen ToggleXyz , wird Diese vom Unmarshaler NICHT gefunden. Lautet diese jedoch : Togglexyz wird Diese gefunden. Also ist alles wohl von der Schreibweise des Klassennamens abhängig. Ich meine, es ist nicht weiterhin schlimm, die Klassennamen klein zu halten, aber so muss man dem Plug-in Entwickler mitteilen, den Klassennamen nach bestimmten Regeln zu wählen.
Evlt. gibts da noch nen Kniff?!
Gruß,
meniGeändert von meni (04.06.09 um 21:07 Uhr)
-
Ich hätte noch ein Problem:
Nachdem ich wieder marshale, erhalte ich jeweils zwei Elemente mit folgenden Formaten:
Code :1 2 3 4 5 6 7 8
. . . <myelement/> <mye xsi:type="myelement" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> . . .
Warum? Eigentlich sollte das erste nur sein.
meni
Ähnliche Themen
-
Tutorial: Hilfestellung für JAXB mit Eclipse
Von webmanie im Forum JavaAntworten: 0Letzter Beitrag: 28.07.09, 21:44 -
JAXB Mapping
Von Freak2k im Forum JavaAntworten: 1Letzter Beitrag: 29.10.08, 22:29 -
Jaxb
Von nowacz im Forum JavaAntworten: 1Letzter Beitrag: 02.08.07, 12:31 -
JAXB - Namespace
Von mtk-flo im Forum JavaAntworten: 2Letzter Beitrag: 22.03.07, 15:28 -
JAXB JaxME
Von Thomas Darimont im Forum JavaAntworten: 3Letzter Beitrag: 07.04.04, 22:57





Zitieren
Login




