Autor Thema: Lotus Notes Agenten mit Eclipse / NetBeans erstellen  (Gelesen 5612 mal)

Offline Leon

  • Frischling
  • *
  • Beiträge: 9
Ich versuche derzeit, mittels NetBeans einen Agenten für Lotus Notes zu entwickeln. Hierzu habe ich eine klasse Anleitung im Netz gefunden. (Hier geht's zur besagten Anleitung) Diese habe ich Punkt für Punkt abgearbeitet und nun scheint soweit auch fast alles zu funktionieren. Aber leider eben auch nur fast.

Mein Problem sieht so aus, dass ich nach dem Starten des Agenten (aus NetBeans heraus) im Output Fenster von NetBeans folgende Fehlermeldung erhalte:

Code
init:
deps-jar:
Compiling 1 source file to Z:\Java\DominoAgentTest\build\classes
compile:
run:
Running agent...
No AgentContext document found for agent
   <agent=AgentRunner Test>
   <database=AgentRunnerTests.nsf>
   <server=local>
BUILD SUCCESSFUL (total time: 1 second)

Der AgentContext wurde jedoch korrekt in der Datenbank AgentRunner.nsf angelegt. (Siehe bild)



Was könnte ich falsch gemacht haben ?

Ich verwende Lotus Notes R5.0.11 und NetBeans 5.0.

MfG

Leon
« Letzte Änderung: 02.09.06 - 17:41:36 von Leon »

Offline Leon

  • Frischling
  • *
  • Beiträge: 9
Re: Lotus Notes Agenten mit NetBeans erstellen
« Antwort #1 am: 07.08.06 - 16:54:21 »
So, das Problem habe ich nun zwar lösen können, stehe nun allerdings gleich vor dem nächsten.

Die Lösung des Problems von vorhin war schlicht und einfach folgendes:

Quelltext
Code
package de.atnotes;

import lotus.domino.*;


public class AgentRunnerTest extends DebugAgentBase
{
	public static void main(String[] args) throws Exception
	{
		System.out.println("Entered main.");
		
		AgentRunner.main( new String[] {
				  "AgentRunnerTest",
				  "c:\\Programme\\Notes\\Data\\AgentRunnerTests.nsf",
				  "local" } );
	}
	
	
	public void NotesMain()
	{
		System.out.println("Entered NotesMain.");
	}
}

Anstelle von "AgentRunnerTests.nsf" musste ich den absoluten Pfad angeben, also "c:\\Programme\\Notes\\Data\\AgentRunnerTests.nsf".

Nun findet er zwar den AgentContext und er wird sogar vollständig und korrekt ausgeführt, aber dennoch werden nach Beendigung folgende Fehler im Output-Fenster von NetBeans angezeigt:

Code
Entered main.
Entered NotesMain.
lotus.domino.NotesException
	at lotus.domino.local.Session.NcreateDateTime(Native Method)
	at lotus.domino.local.Session.createDateTime(Session.java:843)
	at lotus.domino.local.DebugSession.stampAgentContextDoc(DebugSession.java:224)
	at lotus.domino.DebugAgentBase.termAgentRunner(DebugAgentBase.java:49)
	at lotus.domino.AgentRunner.runAgent(AgentRunner.java:142)
	at lotus.domino.AgentRunner.runNotes(AgentRunner.java:54)
	at lotus.domino.NotesThread.run(NotesThread.java:203)

Wenn ich jedoch meine Klasse anstelle von DebugAgentBase um AgentBase erweitere, das Projekt kompiliere, die erzeugte .class Datei im Domino Designer in meinen Agenten importiere und den Agenten schließlich unter Notes ausführe, werden keinerlei Fehler in der Java Debug-Konsole von Notes angezeigt. Die Fehler bekomme ich nur in meiner Entwicklerumgebung wenn ich die Klasse um DebugAgentBase erweitere. Im fertigen Agenten unter Notes bekomme ich diese Fehler nicht.

MfG

Leon
« Letzte Änderung: 02.09.06 - 16:12:36 von Leon »

Offline Leon

  • Frischling
  • *
  • Beiträge: 9
Re: Lotus Notes Agenten mit NetBeans erstellen
« Antwort #2 am: 17.08.06 - 23:19:15 »
Inzwischen bin ich auf Eclipse 3.2 gewechselt, aber der o.g. Fehler taucht auch dort nach Beendigung eines Agents auf. Es muss doch mal irgendwann jemand einen Agent für Lotus Notes/Domino R5 unter Eclipse oder NetBeans erstellt haben. Vergesse ich evt. ein bestimmtes Package (JAR) einzubinden ?  Bisher binde ich nur die Notes.jar ein.

MfG

Leon

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Lotus Notes Agenten mit NetBeans erstellen
« Antwort #3 am: 18.08.06 - 16:05:22 »
Hier ist ein Beschreibung wie jemand erfolgreich Netbeans für Notes-Agent Entwicklung benutzt hat. Ich weiss natürlich auch nicht, ob das mit Notes5 funktioniert.
http://www-128.ibm.com/developerworks/lotus/library/notes-eclipse/

Gruß Axel
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 Leon

  • Frischling
  • *
  • Beiträge: 9
Re: Lotus Notes Agenten mit NetBeans erstellen
« Antwort #4 am: 02.09.06 - 17:37:04 »
Hallo Axel und danke für Deine Antwort. Die Anleitung hatte ich schon früher im Auge, jedoch funktioniert diese nicht bei mir. Sie ist auf Notes/Domino 6+ ausgerichtet, was man spätestens bei Punkt 7 sieht. Wenn ich meine Klasse innerhalb Eclipse um AgentBase anstelle DebugAgentBase erweitere, läuft sie nicht aus meiner IDE heraus.

Wenn ich meine Klasse aus Eclipse heraus starten möchte, muss ich sie um DebugAgentBase erweitern und nicht um AgentBase.

Ich muss meine Klasse erst um AgentBase erweitern, wenn ich komplett fertig bin und das kompilierte .class File im Designer in meinen Agenten einbinden will. Wenn ich das nicht tue, legt Notes beim Starten des Agenten lediglich ein ContextDocument für diesen Agenten an. Damit der Agent tatsächlich läuft, muss ich vor dem letzten Kompiliervorgang die Klasse um AgentBase anstelle von DebugAgentBase erweitern.

Insgesamt sieht der ganze Vorgang so aus:

  • Eine Klasse in Eclipse erstellen, die um DebugAgentBase erweitert wird. Außerdem muss man die Notes.jar in das Projekt / den classpath einbinden.
  • Das Projekt kompilieren / starten. Im Outputfenster sieht man nun eine Meldung, dass kein AgentContextDocument gefunden wurde.
  • Einen neuen Agenten im Designer erstellen, den Punkt "Für welche Dokumente soll er gelten?" auf "Einmal ausführen" stellen und das erstellte .class File einbinden.
  • Den Agenten aus Notes heraus einmal starten.
  • Zur Kontrolle kann man jetzt einmal die Java Debug-Konsole unter Notes aufrufen. Dort sollte nun stehen: "AgentContext dumped to file AgentRunner.nsf for agent: ..."
  • Nun die Datenbank AgentRunner.nsf öffnen. Dort sollte das ContextDocument zu sehen sein. Dieses öffnen.
  • Das Dokument bearbeiten, den Punkt "Agent Runs On" auf "Run Once" stellen, das Dokument speichern und schließen.
  • Nun starten wir das Projekt unter Eclipse erneut und der Agent sollte laufen.

An dieser stelle kommen nun unter Eclipse die Fehler. Wie gesagt, das Projekt läuft komplett und fehlerfrei durch. Die Fehler kommen erst, wenn die letzte Zeile im Projekt abgearbeitet wurde. Auf die Funktion meines Projekts wirken sie sich jedoch in keinster Weise aus. Sie sind einfach nur da und stören.

  • Wenn man fertig ist mit Programmieren, die Klasse anstelle von DebugAgentBase um AgentBase erweitern und das Projekt kompilieren / starten. Nun Erscheint ein Fehler im Outputfenster: Agent class not found ...
  • Nun das kpmpilierte .class File erneut im Designer in den Agenten einbinden (vorher das alte aus dem Agenten löschen) und den Agenten wieder speichern.
  • Nun den Agenten unter Notes starten und die Java Debug-Konsole aufrufen. Wie man sieht, läuft alles fehlerfrei.

Es wäre schön, wenn dieses Szenario mal jemand rekonstruieren würde bzw. sich jemand melden würde, der bereits für R5 Agenten über Eclipse geschrieben hat.

MfG

Leon
« Letzte Änderung: 02.09.06 - 17:40:53 von Leon »

Offline Leon

  • Frischling
  • *
  • Beiträge: 9
Re: Lotus Notes Agenten mit Eclipse / NetBeans erstellen
« Antwort #5 am: 05.09.06 - 20:19:45 »
Inzwischen habe ich eine Vermutung, woher der Fehler kommt. Mir ist aufgefallen, dass im AgentContext Dokument seit dessen Erstellung keine Felder mehr aktuallisiert werden. So sollten eigentlich Felder wie "LastRun" nach Beendigung des Agenten aktuallisiert werden, was jedoch nicht geschieht. "LastRun" bleibt z.B. immer leer und "LastExitStatus" ist und bleibt immer auf 0. Zumindest deckt sich diese Vermutung mit Inhalt und Zeitpunkt der Fehlermeldung.

Mal angenommen, das ist der Fehler, wo kann ich ansetzen um diesen zu beheben ?

MfG

Leon
« Letzte Änderung: 05.09.06 - 20:21:25 von Leon »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz