OpenOffice?

Status
Nicht offen für weitere Antworten.

Bubi Meier

Mitglied
Guten Abend, meine Damen und Herren,

ich stehe da vor einem etwas 'komischen' Problem. Ich versuche eine Einbindung von OpenOffice in einem Java-Programm. Das Programm läuft auch so wie es soll, allerdings 'terminiert' es nicht so, wie man das erwartet. Nach einigen Versuchen habe ich nun folgendes 'reduziert':

Code:
    public static void main(String[] args) { 
          try { 
            XComponentContext xContext = com.sun.star.comp.helper.Bootstrap. bootstrap(); 
          } 
        catch (java.lang.Exception e){ 
            e.printStackTrace(); 
        } 
        System.out.println("Ende.") 
    }


(alle nötigen classes vorhanden)

Dieser Code führt bei mir zu keiner Exception. Wenn man hinter XComponentContext... weiterschreibt funktioniert alles so wie es zu erwarten ist. (Den Code habe ich hier jetzt nicht mitkopiert)
xContext ist so ein Object um die Funktionen von OpenOffice zu nutzen.

Wenn man dieses kleine 'Programm' laufen läßt, kommt brav 'Ende.", allerdings läuft das Programm weiter. Es scheint dabei allerdings nichts zu tun, zumindest ist die Prozessorlast nahe null. Dies tut es aus NetBeans, wie auch aus der Konsole (WinXp) heraus.
Es sieht fast so aus, als müsste man die 'OpenOffice Resource' irgendwie wieder freigeben, wobei das nur so eine Vermutung ist.

Weiss da zufällig jemand was?

-bm
 

DocRandom

Top Contributor
..jo, dann gib sie mal frei!
Wird nähmlich daran liegen, das OO im Hintergrund als Thread weiter läuft!
Ich bin zwar kein Freund von dieser:
Code:
xContext = null;
Lösung, aber wenn es hilft....

Edit:
Hab ein wenig gegoogled und siehe, Du mußt sogar den Context auf Null setzen beim beenden!



lg
DocRandom
 

Bubi Meier

Mitglied
Hallo,

Danke für die prompte Antwort. Allerdings war der Hinweis nicht erfolgreich. Ein Löschen der Referenz hatte bei mir kein anderes Ergebniss. Es wäre auch zumindest merkwürdig, wenn man einen mutmaßlich laufenden Thread durch Löschen der Referenz auf ihn austreten könnte.

Die, zugegeben etwas merkwürdige, Lösung ist System.exit(0). So werden zumindest die Vorlagen von OpenOffice für Netbeans terminiert. (Man kann sich in Netbeans einige PlugIns für allen möglichen Kram 'runterladen, unter anderem auch ein Plugin für OpenOffice und da sind dann solche Projektvorlagen enthalten)

Der Code, der in deinem GoogleLink verbraten wird, ist übrigens etwas 'esoterisch' :))

Trotzdem Vielen Dank

-bm
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben