Autor Thema: Java-Agent über LS starten  (Gelesen 360 mal)

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 289
  • Geschlecht: Männlich
Java-Agent über LS starten
« am: 09.06.25 - 09:59:32 »
Hallo zusammen,

ich arbeite gerade an der Einbindung von iText-Bibliotheken, um PDFs im Backend erstellen zu können. Das funktioniert erst einmal ganz gut. Was mir aber Sorgen macht, ist der Auslöser, um die Java-Agenten im Frontend zu starten. Ich möchte über einen Button (Dokument und Ansicht) den Java-Agenten starten. Der Buttoncode ist simpel und bei LS-Agenten funktionabel:

Code
Sub Click(Source As Button)
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim agent As NotesAgent
	
    ' Aktuelle Datenbank oder eine andere Datenbank auf dem Server referenzieren
	Set db = session.CurrentDatabase ' Falls der Agent in einer anderen DB ist: Set db = session.GetDatabase("ServerName", "Datenbank.nsf")
	
    ' Agent mit Namen aufrufen
	Set agent = db.GetAgent("agiText") ' Name des Agenten anpassen
	
    ' Agent auf dem Server starten
	Dim result As Integer
	result = agent.RunOnServer()
	
End Sub

Der Agent agiText ist als zeitgesteuert (nie) konfiguriert. Er soll eine Textdatei in einen Ordner legen. Wenn ich ihn über das Menü Aktionen ausführen, macht er, was er soll. Hier der Vollständigkeit halber der das Java des Agenten:

Code
import java.io.FileWriter;
import java.io.PrintWriter;
import lotus.domino.AgentBase;

public class JavaAgent extends AgentBase {
  public void NotesMain() {
    try {
      String filePath = "C:\\Temp\\test.txt";
      FileWriter fw = new FileWriter(filePath);
      PrintWriter pw = new PrintWriter(fw);

      pw.println("Java-Agent wurde erfolgreich ausgeführt!");
      pw.close();
      fw.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Wenn ich nun also den Agenten über den Button in der Ansicht starten will, passiert gar nichts. Der Buttoncode läuft bis zum Ende ohne Fehlermeldung durch, der Agent wird aber nicht ausgeführt. Noch interessant: Im Reiter "Sicherheit" des Agenten kann ich nichts auswählen. Das Optionsfeld ist nicht anklickbar. Könnte hier das Problem liegen?

Offline Werner Götz

  • Senior Mitglied
  • ****
  • Beiträge: 254
  • Geschlecht: Männlich
Antw:Java-Agent über LS starten
« Antwort #1 am: 10.06.25 - 07:00:29 »
Der Agent soll ja am Server laufen, das ist also anders als beim Aufruf über das Menü Aktionen.
Steht was im Server-Log?

Am Server gibt es auch ein Verzeichnis c:\temp?

-Werner

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 289
  • Geschlecht: Männlich
Antw:Java-Agent über LS starten
« Antwort #2 am: 10.06.25 - 08:46:19 »
Du hast absolut recht und mich auf die Lösung gebracht. Das "RunOnServer()" ist das Problem. Dadurch findet er den Pfad nicht. Bei einem "Run()" funktioniert es. Manchmal sieht man den Wald vor lauter Bäumen nicht. Danke für den Hinweis.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz