Ausprobiert hab ich das nicht, da der Agent funktioniert wenn er nur alle 10 Minuten läuft.
Slightly Off-Topic:
Ich gehe davon aus, dass alle Sessions die der Agent verwenden kann beendet werden, wenn der Agent beendet wird. Denn laut Doku der NotesSession Klasse gibt es immer nur eine Session per Skript.
O-Ton von IBM:
Since there can only be one session per script, the New method always returns the same object each time you call it.
Das würde implizieren, dass es nur eine Session gibt, die beim Start des Agents zurechtgelegt wird. Wenn ich mehrere Sessions initialisiere, ist das für die Katz', denn ich würde immer nur diese eine bekommen.
Weiters sehe ich keine Methode eine Session zu schliessen, was in meinen Augen bedeutet, dass sobald das Skript am Ende ist, die Session(s?) automatisch zerstört wird. Läuft kein Agent und benutzt keiner die Datenbank gibt es keine Sessions - erst wenn ein Agent wieder anstartet.
Ein kleiner Test dazu:
Sub Initialize
Dim session As New NotesSession
Dim doc1 As NotesDocument
Set doc1 = session.SavedData
Sleep(2)
Dim session2 As New NotesSession
Dim doc2 As NotesDocument
Set doc2 = session.SavedData
If (doc1.UniversalID = doc2.UniversalID) Then
Print "Gleiches Dokument?!"
End If
End Sub
Starte ich das Skript oben, sollten 2 Session initialisiert werden, aber das SavedData Dokument ist bei beiden das gleiche, obwohl das ja Session-spezifisch sein sollte. Das würde bedeuten, dass es wirklich immer nur eine Session pro Agent gibt (wie die Doku auch meint). Die wird am Ende des Skripts zerstört und beim neuen Starten wieder neu erstellt, da die UniversalID vom SavedData Dokument immer unterschiedlich ist.
Kann mich natürlich auch irren, aber zumindest sehe ich das so.