Also hier die Beschreibung für ein einfaches Beispiel für die ersten Gehversuche in Java Notes. Das ganz stellt ein einfaches Javaprogramm da, dass ausserhalb des Notes Clients läuft und nichts anderes tut als eine lokale Datenbank zu öffnen und einige Daten aus dem Datenbankobjekt auf die Java Console ausgibt.
Ich gehe in dem Beispiel mal davon aus, dass Ihr ebenfalls Netbeans 3.4.1 verwendet. Wer das nicht hat man kann es bei
www.netbeans.org kostenlos herunterladen. Und das Teil ist ziemlich gut. (Natürlich meine Meinung)
Als erstes um überhaupt Notesklassen in Java verwenden zu können ist es wichtig das man die Datei "Notes.jar" im sogenannten CLASSPATH hat. Das erreicht man in Netbeans am einfachsten in dem man unter dem Menüpunkt File-> Mount Filesystem auswählt.
Dann wählt man in der folgenden Dialogbox aus, dass man ein "Archive File" mounten will. Nach klicken auf Next bekommt man dann einen ganz normalen Datei öffnen Dialog. In dem man die Notes.jar auswählt. Diese Datei sollte sich im Programmverzeichnis von Notes befinden.
Wenn alles funktioniert hat, hat man im Netbeans FileSystem Explorer jetzt die Notes.jar drinnen. Man kann Sie auch aufklappen und sich die verschiedenen Klassen die darin enthalten sind anschauen.
Dann sollte ihr über den Menüpunkt File->new einen Folder für eure Tests anlegen. Der Folder heisst bei mir
test. Dies ist in Netbeans dann auch gleich der PaketName
Jetzt sind wir bereit für ein kleines Testprogramm.
Erstellt in dem Folder test mittels File->new -->JavaClasses -->empty ein leeres Sourcfile.
Dieses nennt Ihr um auf testprogramm
Dann kopiert Ihr den folgenden Source in das leere Programm.
/*
* testprogramm.java
*
* Created on 31. Januar 2003, 10:05
*/
package test;
import lotus.domino.*; //Anweisung um den Java Compiler mitzuteilen, wo er die Notesklassen findet.
/**
*
* @author petter_r
*/
public class testprogramm {
/** Creates a new instance of testprogramm In unserem Beispiel brauchen wir keine Instance */
public testprogramm() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
NotesThread.sinitThread(); //Beim lokalen Zugriff nicht DIIOP muss der Thread erst für Domino initialisiert werden.
Session ses=null; //Sessionvariable definieren.
try { //Da Notes Klassen Exceptions werfen können sollte man diese auch abfangen.
ses = NotesFactory.createSession(); //Erzeugen eines Sessionobjekts
Database db=ses.getDatabase("ATARTW05/ARTWEGER/AT","mail/rpetter.nsf"); // Öffnen einer Datenbank bitte das anpassen an euer Umfeld z. B. Maildatenbank.
System.out.println("Datenbank hat folgenden Dateiname:"+db.getFileName());
System.out.println("Datenbank wurde zuletzt volltextindiziert am "+db.getLastFTIndexed().toString());
}
catch (Exception e){
System.out.println("Es ist ein Fehler aufgetreten");
e.printStackTrace();
}
finally{
try{
ses.recycle(); // Ganz wichtig, wenn dieser Befehl nicht ausgeführt wird, wird der Speicher den die Notesklassen im Hintergrund verwendet haben nicht mehr freigeben.
}
catch (NotesException e){}
NotesThread.stermThread(); //Domino Umgebung beenden. Ebenfalls ganz wichtig wenn man das nicht macht kann das zu Abstürzen von Notes führen.
}
}
}
Den Namen des Servers und den Datenbanknamen auf eure Verhältnisse anpassen und dann laufen lassen.
Wenn alles funktioniert solltet ihr als Ergebnis den Filenamen der Datenbank und das Datum der letzten Volltextinidizierung bekommen. Eventuell fragt er noch eur Passwort ab.
Falls Probleme auftreten bitte posten.
Grüße Ralf