Autor Thema: Laden von Java-Bibliotheken  (Gelesen 2712 mal)

Offline uscheunemann

  • Frischling
  • *
  • Beiträge: 19
Laden von Java-Bibliotheken
« am: 12.05.13 - 12:38:26 »
Hallo,

was ist eigentlich der effektivste Weg, um Java-Bibliotheken in Lotus Notes zu nutzen?
Ich habe eine eigene Java-Klasse geschrieben, die in einer Lotus Notes-Datenbank als Java-Bibliothek verwendet wird. Diese wiederum nutzt mehrere andere Java-Bibliotheken, die als JAR-Datei Bestandteil der Java-Bibliothek sind (im konkreten Fall XSL-FO Transformation). Die Java-Klasse, die ich geschrieben habe, wird über LS2J in einer LotusScript-Klasse verwendet.
Das Ladeverhalten ist ziemlich mäßig, weil bei jedem Aufruf der Funktionalität die Java-Bibliotheken offensichtlich erst neu geladen werden.

Alternativ habe ich die XSL-FO-Bibliotheken in das Verzeichnis java/ext/lib gelegt. Dann werden die offenbar schon beim Start von Lotus Notes mit geladen. Der Aufruf funktioniert dann superschnell.

Aber!!!: Spätestens ab Windows 7 hat ein 'Normal-Nutzer' meines Erachtens kein Schreibrecht mehr auf das unterhalb des Programmverzeichnisses gelegene java/ext/lib. Wie also das Rollout der XSL-FO Bibliotheken gestalten, wenn man nicht per LotusScript Kopier-Funktionen zur Installation in dieses Verzeichnis nutzen kann?

Gibt es Alternativen, wo man die Java-Bibliotheken hinlegen kann, so dass sie beim Notes-Start oder Start der Notes-Anwendung geladen werden? Funktioniert das vielleicht mit dem Workspace-Ordner in Notes-Data-Verzeichnis? Gibt es vielleicht eine Stelle, wo ich die Bibliotheken innerhalb der Anwendung hinterlegen kann, so dass sie automatisch beim Start der Anwendung geladen werden? Der Bereich Code\Java scheint ja ausschließlich für Java-Klassen als Quellcode reserviert zu sein.

Hat jemand Vorschläge?

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Laden von Java-Bibliotheken
« Antwort #1 am: 13.05.13 - 05:08:39 »
Du kannst die .jar Dateien auch in der notes.ini anmelden (versuch google), wobei das die Verteilung der .jars auf die Clients auch nicht einfacher gestaltet.
Dafür gibts in Notes einfach keinen vorfabrizierten Mechanismus.
Größere Unternehmen nutzen Tools zur Software-Verteilung, in die Du dich möglicherweise einklinken kannst.
Du kannst in der .nsf, die deine selbstgeschriebene Java Komponente nutzt, selbst einen Mechanismus schreiben, der das auf die Clients verteilt.
Möglicherweise kannst Du die Logik als Eclipse-plugin schreiben, falls alle Anwender einen Eclipse Client benutzen. Da gibts vorfabrizierte Mechanismen zur Verteilung von Zusatz-Plugins.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Laden von Java-Bibliotheken
« Antwort #2 am: 13.05.13 - 12:24:18 »
Du kannst JARs auch an einen Agenten oder Java-Blibliothek anhängen und die z.B. mit LS2J ansprechen.

Dabei wirst du aber schnell feststellen, dass der Notes-Classloader oft nicht so tut wie man will... :-:

Ausserdem scheint es so zu sein, dass die Java-Klassen DB-übergreifend geladen werden. Wenn du z.B. zwei DBs hast, die die gleiche Java-Lib (=gleicher Name) haben, so wird immer die verwendet, die als erstes geladen wurde. So kann es z.B. passieren, dass DB A auf die (bereits geladene) Java-Lib von DB-B zugreift, welche ggf. noch in einer anderen Version/Funktionalität vorliegt.

Deshalb machen wir bei Java-Libraries in der NSF immer eine Versionsnummer in den Namen.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline uscheunemann

  • Frischling
  • *
  • Beiträge: 19
Re: Laden von Java-Bibliotheken
« Antwort #3 am: 13.05.13 - 21:50:39 »
Hallo,

Danke für eure Antworten.
Schade, dass IBM da (mal wieder) nicht etwas mehr mitgedacht hat. Ich werde dann wohl doch irgend einen Weg suchen, die Bibliotheken ins java/ext/lib zu kriegen. Wollte bloss mal wissen, ob es da bessere Wege gibt.

Tschüß

Scheunemann

Offline uscheunemann

  • Frischling
  • *
  • Beiträge: 19
Re: Laden von Java-Bibliotheken
« Antwort #4 am: 16.11.13 - 12:55:39 »
@Pitiyankee: Ich hatte diese Antwort gar nicht richtig gewürdigt.

Die Vorgehensweise habe ich auf der folgenden Seite gefunden: http://www.tlcc.com/admin/tips.nsf/0/47F45C365AC2D93D852570260052B21C (Darf man in diesem Forum eine solche URL posten? Hab nichts gegenteiliges in den Regeln gefunden.).
Auf der Seite ist zwar keine Info enthalten, ob diese Bibliotheken beim Notes-Start bereits geladen werden (wie das der Fall ist, wenn man sie ins jvm/lib/ext-Verzeichnis kopiert). Aber zumindest ist es wahrscheinlich ein brauchbarer Weg.

Vielen Dank!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz