Dear audience,
we do have some standalone java agents and applications on our clients which do open the required database using this code:
try {
// Zuerst mal ein NotesThread...
logMessage("Erzeuge NotesThread ...");
NotesThread.sinitThread();
logMessage("Erzeuge NotesSession ...");
lnSession = NotesFactory.createSession();
logMessage("Session als '" + lnSession.getUserName() + "' erzeugt");
logMessage("Erzeuge Registration...");
lnReg = lnSession.createRegistration();
logMessage("Hole den RegServer...");
String RegServer=lnReg.getRegistrationServer();
logMessage( "RegServer '" + RegServer + "' zurückerhalten");
logMessage("Hole Datenbank " + ibdbName + " von " + lndbServer);
lnDB=lnSession.getDatabase(lndbServer, ibdbName);
if (!lnDB.isOpen()) {
logError("Fehler beim Öffnen von '" + ibdbName + "'");
return false;
}
rc=true;
} catch (Exception e) {
logStackTrace(e);
return false;
}
logmessage() and logError() are functions which do not use any notes facilities to log the messages to a debug log on the client.
This code worked fine in 5.0.11, 5.0.12, 5.0.13 and 7.0.1. With the installation of 7.0.2 (no FP1) the agents and applications ceased to work.
The log shows that there is no database object opened after the call to getDatabase(Server, DBName) but the database object is instantiated and valid.
2007-02-09 03:03:29.508 INFO1 : Öffne Datenbank ‘Database.nsf’ auf ‘Servername’
2007-02-09 03:03:29.508 INFO1 : Erzeuge NotesThread …
2007-02-09 03:03:30.070 INFO1 : Erzeuge NotesSession …
2007-02-09 03:03:30.148 INFO1 : Session als ‘’ erzeugt
2007-02-09 03:03:30.148 INFO1 : Erzeuge Registration…
2007-02-09 03:03:30.148 INFO1 : Hole den RegServer…
2007-02-09 03:03:30.148 INFO1 : RegServer ‘’ zurückerhalten
2007-02-09 03:03:30.148 INFO1 : Hole Datenbank Database.nsf von Servername
2007-02-09 03:03:34.739 ERROR : Fehler beim Öffnen von ‘Database.nsf’
If there is some access to this database an exception occurres:
2007-02-09 03:03:34.739 INFO1 : Lese Systemprofil profil_replika_ewb
NotesException: Database Servername!!Database.nsf has not been opened yet
at lotus.domino.local.Database.NgetProfileDocument(Native Method)
at lotus.domino.local.Database.getProfileDocument(Unknown Source)
…
Could it be that a createSession() without any parameter does not work any more if the session’s properties are used to access a remote server as the source of the exception “lotus.domino.local…” suggests? I should mention that during the whole run there is no network traffic between the client measurable by using ‘tcpdump’ on the server.
Has anybody tested their standalone applications against V7.0.2?
Which changes had to be done to get them to work again?
Best regards
Thomas Antepoth