В этом JavaBean я написал некоторый объект как (статический).Но когда я достигаю метода logDoc.save (), он возвращает ошибку.Снятие всего (статического), все работает нормально.Ошибка в консоли:
HTTP JVM: lotus.domino.local.Document method: save, row: -1:
NotesException: Notes error: You are not authorized to perform that operation
или
HTTP JVM:lotus.domino.local.NotesBase method: CheckObject, row: -1:
NotesException: Object has been removed or recycled
в зависимости от настроек ACL для Anonymous.
Кто-нибудь может объяснить мне, в чем здесь проблема со статическими объектами?
public class AnyRest extends CustomServiceBean implements Serializable {
private static final long serialVersionUID = 3548995909847938225L;
private (static) Database logDB=null;
private (static) Document logDoc=null;
private (static) RichTextItem logBody=null;
private (static) void log(String text) {
if (logDB==null) logDB= ExtLibUtil.getCurrentDatabase();
try {
if (logDoc==null) {
logDoc=logDB.createDocument();
logDoc.replaceItemValue("form","log");
logBody=logDoc.createRichTextItem("Body");
}
logBody.appendText(text);
logBody.addNewLine();
logDoc.save();
} catch(NotesException ne) {
logStackTrace(ne);
}
}
private (static) void destroyLog() {
try {
if (logDoc!=null) {
logDoc.save();
logDoc.recycle();
logDoc=null;
}
if (logDB!=null) {
logDB.recycle();
logDB=null;
}
} catch (Exception e) {
logStackTrace(e);
}
}
public String doPost(String strObject){
//do useful things
log("useful post data")
}
}