Dominoオブジェクトを利用する場合のリサイクル処理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var recycleSample = function() {
  var dbSample:NotesDatabase = null;
  var vwSample:NotesView = null;
  var docSample:NotesDocument = null;
  try {
    dbSample = session.getDatabase( "", "", false );
    vwSample = dbSample.getView( "" );
    docSample = vwSample.getFirstDocument();
    while ( docSample != null ) {
      /**
       * 処理
       */
      docSample = vwSample.getNextDocument( docSample );
    }
  } catch(e) {
    print(e);
  } finally {
    if ( docSample != null ) docSample.recycle();
    if ( vwSample != null ) vwSample.recycle();
    // 自分自身のNotesDBの場合は以下は行わない
    if ( dbSample != null ) dbSample.recycle();
  }
}





SSJSでDominoオブジェクトを利用する場合、コードの中でリサイクル処理を行う必要がある(メモリの解放は自動で行われないため)。

そこで、 try ~ finallyを利用する

try 文にfinally句を追加すると、try文の中のコードが終了する際に、必ず、finally句の中のコードが実行されるので、そこでDominoオブジェクトをリサイクルする。

エラーが発生して、catch句の中のコードを実行してもfinally句の中のコードも実行される。


JavaScript (Server)
guylocke
July 17, 2018 at 3:17 PM
Rating
Nobody rated yet
0





No comments yetLogin first to comment...