Frage

Das ist Cross geschrieben von dem FuseSource Forum und die servicemmix Forum .

Ich kann nicht DOSGi in FUSE arbeiten. Ich versuche, CXF die DOSGi 1.1-SNAPSHOT mit Zookeeper Entdeckung auf FUSE 4.1.0.2 zu bekommen. Ich verwende auch Zookeepr 3.2.1.

Alles funktioniert perfekt auf Felix 2.0.0. Ich folge einfach den Anweisungen auf der DOSGi Entdeckung Seite und installieren Sie dann die Discovery-Demo Bundles. Für DOSGi, verwende ich nur die cxf-dosgi-ri-singlebundle-Verteilung-1.1-SNAPSHOT.jar für DSW und cxf-dosgi-ri-Discovery-singlebundle-Distribution-1.1-SNAPSHOT.jar zookeepr Entdeckung. Dann, wenn ich das Probebündel mit dem Musterservice impl auf einer Maschine zu starten, sehe ich die Knotenerstellungs in zookeeper. Dann beginne ich das Beispiel eines Client auf einer anderen Maschine, und ich sehe die Ausgabe auf dem Dienstcomputer. Funktioniert super. Ich habe eine Warnung über eine XML-Fehler haben ignoriert, weil einige XSD coudln't gefunden werden, aber es scheint nicht, etwas zu beeinflussen. Oh, ich muss auch zuerst das OSGi Compendium Bundle installieren.

Wenn ich zu Fuse bewegen, ich habe kein Glück. Das OSGi Compendium Bundle kommt mit Sicherung, so dass keine Notwendigkeit, dass zu installieren. Ich soll nur in der Lage sein, den dosgi-ri singlebundle zu installieren, und das dosgi-ri-Entdeckung einziges Bündel, aber das funktioniert nicht. Die dosgi-ri singlebundle hat alle Arten von sich überlappenden Bündeln mit ServiceMix. Ich erhalte eine Fehlermeldung über Port 8081? oder was auch immer der osgi.http.service Parameter ist, ist bereits im Einsatz. Anscheinend ist der dosgi-ri singlebundle kommt mit pax webservice, die die gleiche Eigenschaft wie das ServiceMix http-Service-Bundle liest, die mit ServiceMix kommt. Das ist, wenn ich wechseln Sie auf die http: //schemas.xmlsoap.org/soap/http . Ok, so Protokollierung vermasselt und ich bin eine Transport Klasse fehlt. Nun, klar kommt dies aus nicht genug von den ri multibundle Installation, weil es auf felix gearbeitet. Also, was sonst dort ist notwendig. Das cxf-minimal-Bündel bei der Untersuchung hat die fehlende Klasse, die letzten Fehler verursacht. So installieren ich. Versuchen Sie, die Entdeckung Bündel zu starten, aber ich am Ende mit einer Art corbabroker Ausnahme auf. Wtf. Deren Verwendung corba in allendiese? Dann gehe ich zurück und rückgängig machen all das und versuchen, mit den singlebundle distros von ri und ri-Entdeckung zu bleiben, aber nur die ServiceMix http-Dienst deaktivieren. Das stürzt ServiceMix und ich kann es nicht neu starten becauuse die cxf jbı Komponenten mit einer unbefriedigten Abhängigkeit enden. Ungerade. Ich werde einfach ignorieren, dass, weil ich nicht mit denen sowieso, und versuche, meine Proben zu beginnen. Kann die Proben nicht gestartet werden, da es sagt Anlegestelle nicht, weil die Anschlüsse bereits im Einsatz beginnen. Hat keinen Sinn, weil ich Abschaltung bereits den ServiceMix http Service. Dann starte ich Steg. Works? Vielleicht. Mein Service wird registriert und ich kann auf die WSDL-Datei mit Firefox, aber ohne Registrierung in zookeeper sehen. Versuchen Sie, das ri-Discovery-Paket zum Herunterfahren und neu starten, aber ich erhalte eine Nullpointer. Appparently die ri-Entdeckung nie begonnen tatsächlich aufgrund einer der oben genannten Fehler auf. Dann begann ich versucht, die ri-Entdeckung singlebundle auseinander zu nehmen und die Interna herausziehen. Das hat nicht funktioniert, weil ihr alle offenbar notwendig, obwohl Theres einige Libs innerhalb wir ohne tun können.

Ende der Geschichte. Kann es nicht erhalten zu arbeiten. Kann jemand anderes es zur Arbeit? Ich möchte nur die Entdeckung Proben in SMX4 auszuführen. Ich bin mir ziemlich sicher, es ist nur ein Bündel Konflikt Problem. Ist das nicht was für OSGi soll beheben ??? Das ist schlimmer als mir nur zu sagen, was rüttelt Sie hängen von und ich meinen Setup Classpath. Zumindest dann würde ich schließlich das Ding zum Laufen bringen.

Meine nächsten Schritte, glaube ich, wird es noch einmal versuchen mit dem ri-multibundle, nur der DSW und jdom sowie die ri-Entdeckung singlebundle. Dann werde ich einige der cxf-Sicherungsbündel oder einige der cxf-rt Bündel versuchen rund um die Seife Transport Problem zu erhalten.

Bearbeiten Anmerkungen: Ich brauche mehr als nur das DOSGi Bündel in einem aktiven Zustand. Sie haben nicht wirklich viel tun, bis Sie versuchen, einen Dienst durch sie zu entlarven. Ich brauche mehrere Maschinen Registrierung Dienstleistungen mit einer Tierpfleger-Instanz und anderen Maschinen diese Dienste sehen raubend - ebenso wie die laufenden DOSGi Discovery-Probe.

Ich habe in der Lage cxf zu bekommen die verteilte Service-Probe als Seife webservice zu belichten, indem die minimalen cxf Bündel entweder durch Entfernen von Teilen des ursprünglichen cxf Bündels und dem Neustart des Anlegesteg Service erwähnen verwendet wird, und dann Starten des Musterservice. .. oder durch den cxf minimal buundle installieren, dann meinen Dienst starten, dann sofort die cxf minimal Bündel Deinstallation dann Anlegestelle Neustart ... ich denke, dass die Ordnung war. Keines von beiden wird von einem sauberen Neustart arbeitet und Dienste als Verfahren neu starten zu müssen DOSGi zum Laufen zu bringen ist einfach nur schlecht. Ich weiß nicht einmal, warum die Installation dann würde alles deinstallieren tun -. Es sollte keine Artefakte verlassen um

War es hilfreich?

Lösung

Ersten Punkt, Blick auf dem CXF DOSGi Mega-Bundle Ich denke, das nur für quick-n-dirty ist Hacking in einer kahlen OSGi-Laufzeit, im Grunde der minimalen Umgebung zur Verfügung gestellt von Equinox und Felix. Es wird nicht für reichere Umgebungen wie FUSE oder ServiceMix bestimmt werden, wie Sie wahrscheinlich auf Dienste aus dem Bündel kollidieren werden und die Plattform, wie Sie gesehen zu haben scheinen.

Ich war in der Lage zu bekommen ServiceMix 4.0 sauber zu starten (dies ist unter Windows) und dann habe ich Hot-Einsatz:

  • com.springsource.org.jdom-1.0.0.jar
  • cxf-Bundle-minimal-2.2.1.jar
  • cxf-dosgi-ri-Discovery-local-1.0.jar
  • cxf.dosgi-ri-dws.cxf-1.0.jar

die ServiceMix Konsole ich alle Bundles aufgelistet und sah, dass alle oben im Active Zustand waren (wie erwartet). Ich zählte die Dienste und die 2 CXF DOSGi bündelt Dienstleistungen exportierten, so dass richtig gearbeitet zu haben schien. Es wurden keine Fehler im Protokoll angegeben.

Wie vertraut sind Sie mit OSGi? ServiceMix sieht recht groß und das Lernen OSGi, ServiceMix und CXF / DOSGi zusammen ist nicht einfach zu sein (meiner Meinung nach).

Die mitgelieferte Konsole ist nicht gut für die OSGi Sachen und ich würde vorschlagen, dass der Apache Felix Konsole Bundles für eine Installation von Web-Interface .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top