常に同じドキュメント (カウンター ドキュメント) を取得し、現在の値を取得し、それをインクリメントして新しい値でドキュメントを保存する Bean を構築しようとしていました。最後に、呼び出し元のメソッドに値を返す必要があります。これにより、Xpage で新しい連番が取得されます。
Domino オブジェクトはシリアル化またはシングルトン化できないため、まったく同じことを行う SSJS 関数を作成するよりも、これを行う Bean を作成する利点は何ですか?
私のビーンには、セッション、データベース、ビュー、およびドキュメントへの呼び出しが必要であり、それらは毎回呼び出されます。
セッションとデータベースを除いて、SSJS 関数内で同じです。
豆:
public double getTransNo() {
try {
Session session = ExtLibUtil.getCurrentSession();
Database db = session.getCurrentDatabase();
View view = db.getView("vCount");
view.refresh();
doc = view.getFirstDocument();
transNo = doc.getItemValueDouble("count");
doc.replaceItemValue("count", ++transNo);
doc.save();
doc.recycle();
view.recycle();
} catch (NotesException e) {
e.printStackTrace();
}
return transNo;
}
SSJS:
function getTransNo() {
var view:NotesView = database.getView("vCount");
var doc:NotesDocument = view.getFirstDocument();
var transNo = doc.getItemValueDouble("count");
doc.replaceItemValue("count", ++transNo);
doc.save();
doc.recycle();
view.recycle();
return transNo;
}
ありがとうございました