【发布时间】:2015-04-06 20:36:06
【问题描述】:
我有一个 applicationScope 托管 bean,它将一系列有关一系列应用程序的信息加载到 Map 中。那么下面的方法就是bean的一部分:
public Database getAppDB() {
Database appDB = null;
try{
Session s = ExtLibUtil.getCurrentSession();
serverName = s.createName(s.getCurrentDatabase().getServer()).getCommon();
appDB = s.getDbDirectory(serverName).openDatabaseByReplicaID(this.getAppRepID());
return appDB;
}catch (NotesException e){
System.out.println(e.toString());
return appDB;
}
}
现在这个方法声明了两个对象(Session 和 appDB)。不确定它们是否需要在返回之前被回收,如果是这样,因为 appDB 是返回值,所以如何做到这一点。 Session 可以很容易地被回收。 现在很明显,如果我从一些 SSJS 调用此方法:
var thisDB:NotesDatabase = appProps[ssApplication].appDB;
我需要在 SSJS 中回收 thisDB。
如果我在 SSJS 中做这样的事情:
var cNames = appProps[ssApplication].appDB.getView("vwFTSearch").getColumnNames();
我假设没有什么可回收的?
【问题讨论】: