Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Java Agent

(1/2) > >>

vago145:
Hallo Zusammen,
ich versuche in Lotus Notes einen Agenten zu schreiben, der die java Timer klasse benutzen soll. Dabei soll nach 1 minute eine text in der java konsole angezeigt werden. hat einer Ahnung wie ich es machen soll?

Danke

vago :-\

Marinero Atlántico:
nö.
Aber poste einfach mal deinen source code. Vielleicht können wir das dann rausfinden. Ich bin aber zur Zeit wieder mal sehr beschäftigt.
Und so ist das ein Stochern im Nebel.

vago145:
Hi,
erst vielen Dank für die schnelle Antwort.
Bei
timer.schedule( new Task(), 2000 );
wird keine Text ausgegeben.

Ich muss auf jeden Fall "extends AgentBase" benutzen, da ich info's von einem Document bekomme.


Hier ist der Code:



package com.vago;

import lotus.domino.*;
import java.util.*;

public class TimerTaskZM extends AgentBase
{

   public void NotesMain()
   {
      try
      {
         Session session = getSession();
         AgentContext agentContext = session.getAgentContext();
         
         System.out.println( "Begin" );
         Timer timer = new Timer();
         System.out.println( "1" );
             // nach 2 Sek geht's los
             timer.schedule( new Task(), 2000 );
             System.out.println( "2" );
             // nach 1 Sek geht's los und dann alle 5 Sekunden
             System.out.println( "3" );
             timer.schedule( new Task(), 1000, 60000 );
             System.out.println( "4" );
         System.out.println( "End" );
         

      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

class Task extends TimerTask
{
   public void run()
     {
          System.out.println( "Make my day." );
     }
}

Marinero Atlántico:
Frage: Was soll das?
So sieht das für mich aus.
Du startest einen Agenten.
Von diesem Agenten startest du einem Timer.
Der Timer soll soll eine Art Task schedulen und managen.
Der Agent selber soll eigentlich quasi nie beendet werden (oder liege ich da falsch)?
Falls ich da nicht falsch liege, halte ich das für architektonisch unsinnig und nicht machbar.
Unsereiner ist froh, wenn er sicher sagen kann, dass ein NotesAgent kein Memory Leak generiert, wenn er normal durchläuft.

Notes Agenten haben doch schon einen scheduling Mechanismus.
Warum programmierst du da einen eigenen rein.
Meine Vermutung ist, dass mit dem Absterben des parentThreads in NotesMain() --> am Ende der Methode, auch der child-Thread stirbt.
Wenn ich Zeit habe, werde ich das nochmal prüfen.
Ich hab Timer noch nie benutzt. Ich nehme quartz zum schedulen von Java Prozessen.
.... aber bestimmt nicht aus Notes-Agenten  :o


Axel

vago145:
Hallo Axel,

Mein Problem ist es.
In einem Workflow, nach der Genehmigung soll zu erst ein XML-Datei erzeugt werden. Nach einer Minute (nach dem 1 XML-File erzeugt wurde) soll ein 2 XML-File erzeugt werden.
Meine Lösung ist es:
Nach dem der 1 XML erzeugt wude (über querysave der Maske) wird dieser Agent gestartet und nach einer Minute die 2 XML-File erzeugt.

Wenn Du eine Bessere Lösung hast, höre ich es gerne.

Danke

vago

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln