OSGi - Bundle-Methode wird nicht aufgerufen

PollerJava

Top Contributor
Hi,

ich erklär mal kurz mein Problem. Ich arbeite mit OSGi, ich habe 3 Bundles, Bundle A, InterfaceBundle B und Bundle C.
Bundle A ruft eine Methode auf InterfaceBundle B auf, diese Methode ist in Bundle C implementiert.

Durch ein externes/Nicht- Java Programm wird das OSGi und meine Bundles neu gestartet (d.h. das externe Programm kann man antriggern, derart, dass dieses in einem Repo nachschauen soll ob eine neue Version verfügbar ist).

Bundle A bietet einen ServerSocket an zu dem man sich verbinden kann und Methoden auf Bundle A aufrufen kann. Methoden vom Bundle A rufen Methoden vom InterfaceBundle B auf.

Wenn ich das ganze System neu starte, funktioniert alles einwandfrei, Wenn aber das externe Progrmm das ganze System startet, dann kann ich eine Methode in Bundle A aufrufen. Bundle A hat sich über einen ServiceTracker von der OSGi Service Registry auch eine Referenz von Bundle C geholt (Refernz zeigt also auf das Object).

Wenn ich jetzt Methoden von Bundle A aufrufe (dann wird wieoben erwähnt eineMethode von Bundle B bzw. Bundle C aufgerufen) werden die Methoden von Bundle C nicht aufgerufen, ich bekomme auch keine Exception oder sonst irgendwas - es passiert gar nichts - In Bundle A werden alle Logs und Sysouts noch ausgegeben vor

bundleBReference.methode(),

nach dieser Zeile passiert aber nichts mehr.

Jetzt ist mir klar dass der Sachverhalt ein bisschen kompliziert ist aber vielleicht hat jemand irgendeinen Ansatz warum das so ist.
Ich bin mit meinem Latein ehrlich gesagt am Ende - ich kann mir nur erklären dass es an der OSGi Service- Registry liegt.

Wäre dankbar für brauchbare Rückmeldungen.

Besten Dank.
Poller
 
Zuletzt bearbeitet von einem Moderator:

lumo

Top Contributor
dein komplizierter aufbau zusammengefasst:

Bunde A (ServerSocket das OSGi Service B kennt)
&
Bundle B Interface
Bundle B Implementierung (dein Bundle C)

Bundle A soll nun (nachdem es einen befehl über den serversocket bekommen hat) funktionalität in Bundle B aufrufen, was es aber nicht tut, wenn die services von deinem externen programm neu gestartet wurden?

Hinweis: dein Bundle A wird keine ImplementierungsDetais von B erfahren (weil es, wie oben genannt nur die Interfaces kennt)
1) prüfe, dass dein Bundle B läuft, nachdem es neu gestartet wurde?
2) prüfe, ob Bundle A sich eine _NEUE_ instanz von Bundle B geholt hat (oder noch besser hol dir bei jedem befehl die instanz neu - denn es könnte ja sein, dass dein Service B in der Zwischenzeit beendet und neu gestartet wurde...)

vielleicht ist da ein gedanke dabei, den du noch nicht hattest...
 

PollerJava

Top Contributor
Das hab ich alles schon probiert, leider ohne Erfolg.
Was ich halt nicht versteh ist, dass man eine Methode aufruf und diese Methode dann aber nicht aufgerufen wird und auch keine Exception geworfen wird.

Ich programmier schon eine ganze Weile aber das ist mir noch nicht untergekommen.
Mit "ss" hab ich auch geprüft ob die Bundles ACTIVE sind - das passt alles, ich hab dann auch die Bundles mit stop ID und start ID neu gestartet - auch kein Erfolg.

Ich bin mit meinem Latein am Ende - leider ist das ein kritischer Defekt.
WEr also noch eine Idee hat - ich wäre sehr dankbar.
lg Poller
 

lumo

Top Contributor
also das problem dass exceptions nicht nach aussen gegeben werden hatte ich auch schon des öfteren!
so weit ich mich erinnern kann hab ich das mit einem expliziten try&catch block gemacht:

try {
code mit exception
} catch (Exception e) {
e.printstacktrace(); // oder schreibs in ne logfile...
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P OSGi Bundle in JBoss zum laufen bringen Allgemeine Java-Themen 0
C Drittanbieter- Jar in OSGi- Bundle? Allgemeine Java-Themen 2
S Java Plugin System (ohne OSGI) Allgemeine Java-Themen 10
P Java EE und OSGi Allgemeine Java-Themen 2
T osgi Preferences, letzter pathName Allgemeine Java-Themen 19
G OSGi: ServiceTracker Allgemeine Java-Themen 3
G OSGi String Allgemeine Java-Themen 2
G Bundle analysieren Allgemeine Java-Themen 2
K Labels Bundle Spracherweiterung Allgemeine Java-Themen 6
W Hilfe bei Methode Allgemeine Java-Themen 14
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
Simon16 compareTo Methode überschreiben Allgemeine Java-Themen 4
TheSkyRider Methode über DataInputStream "auslösen" Allgemeine Java-Themen 6
M CrudRepository save Methode mocken Allgemeine Java-Themen 6
thor_norsk toString() - Methode Allgemeine Java-Themen 6
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
Encera Zweite Main-Methode zuschalten Allgemeine Java-Themen 18
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Hibernate Envers - Aufruf der Methode zum Speichern selbst ausführen oder managen? Allgemeine Java-Themen 0
N rekursion mehrfach eine Methode Öffnen Allgemeine Java-Themen 4
berserkerdq2 Wenn ich eine Methode nur jede 50ms ausführen will, wie mach ich das? Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
N Schnellste Methode, ein Array durchzugehen? Allgemeine Java-Themen 9
E Methoden abstract static Methode Allgemeine Java-Themen 8
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
B In Java Methode mit generic input und output basteln? Allgemeine Java-Themen 4
goldmensch Datentypen Welche Methode hat die bessere Performance? Allgemeine Java-Themen 12
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
T C++ Methode Übersetzung in Java Allgemeine Java-Themen 3
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
R @author vor Methode (eclipse) Allgemeine Java-Themen 1
J RotSchwarzBaum: Löschen mittels insert-Methode Allgemeine Java-Themen 20
Y Java Bruttoberechnen + runden Methode Allgemeine Java-Themen 1
R Warum ist die Methode unendlich oft rekursiv? Allgemeine Java-Themen 5
R Methoden Was fehlt mir bzw. muss ich bei der Methode countHarshabNumbers ändern damit ich die Harshad Zahlen im Intervall [51, 79] zählen kann? Allgemeine Java-Themen 19
D ArrayListe delete Methode klappt nicht Allgemeine Java-Themen 12
Drachenbauer Wie finde ich den Aufrufer zu einer Methode, die sich nicht in meinem Projekt befindet? Allgemeine Java-Themen 2
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
Scream_ilias brute force methode verbessern? Allgemeine Java-Themen 6
Scream_ilias passwort meines pc per brute force methode knacken Allgemeine Java-Themen 4
S static methode im Interface Allgemeine Java-Themen 1
M Konstruktor einer Methode Allgemeine Java-Themen 35
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
T Sinn einer toString Methode Allgemeine Java-Themen 3
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Methoden Über Reflections eine Methode mit aufrufen Allgemeine Java-Themen 3
S Kann ich eine Methode schreiben die alle Arten von funktionalen Interfaces akzeptiert..? Allgemeine Java-Themen 21
L ToString-Methode Allgemeine Java-Themen 6
X Datentypen NPE in längerer Methode Allgemeine Java-Themen 12
I Methoden Generics-Methode Allgemeine Java-Themen 3
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
F Variablen Palindromzahl (Probleme mit Methode) Allgemeine Java-Themen 9
B APi methode kurz anhalten Allgemeine Java-Themen 8
P Methode aus anderem Paket aufrufen Allgemeine Java-Themen 1
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
R Rekursive Methode Allgemeine Java-Themen 8
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
C Threads Methode verhält sich merkwürdig Allgemeine Java-Themen 18
R rekursive und iterative Methode Allgemeine Java-Themen 3
P Methoden Anwendung der allMatch()-Methode Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
D Methoden Methode zum Steinschnitt Allgemeine Java-Themen 2
U OOP Warum kann ich aus meiner Methode keinen String auslesen Allgemeine Java-Themen 4
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
D Returnwert aus einer Methode gerundet ausgeben lassen Allgemeine Java-Themen 2
S equals-Methode bestimmer Klassen abfangen Allgemeine Java-Themen 2
H Methoden Methode 'updateItem' der Klasse 'TreeCell' Allgemeine Java-Themen 3
snipesss Methode greift nicht auf JTextPanel zu Allgemeine Java-Themen 3
R Methode in Methode voraussetzen Allgemeine Java-Themen 8
S Überschriebene Methode der Oberklasse der Oberklasse aufrufen. Allgemeine Java-Themen 5
D Methode dynamisch aufrufen Allgemeine Java-Themen 2
Sogomn Methode als Parameter? Allgemeine Java-Themen 3
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
BRoll Methode abbrechen (Invoke von außen) Allgemeine Java-Themen 5
I Methode verallgemeinern (Methode als Parameter)? Allgemeine Java-Themen 10
D generische Interface und konkrete Methode Allgemeine Java-Themen 3
G Threads Methode nebenbei ausführen, Status verarbeiten Allgemeine Java-Themen 4
H FTP Befehl/Java Methode für Submit im z/Os (Host) Allgemeine Java-Themen 1
M Fabrik Methode, gutes Beispiel? Allgemeine Java-Themen 0
M WebService - Zugriff auf Webservice Methode über Browser Allgemeine Java-Themen 1
N WaitForScript- methode in javafx Allgemeine Java-Themen 1
2 jede Stunde Methode ausführen Allgemeine Java-Themen 8
M Eine static-Methode verlassen Allgemeine Java-Themen 2
P "Overriden statische Methode" Statische Methode die vererbt wird Allgemeine Java-Themen 5
X Komponente an Methode übergeben Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben