0
我有以下的DataSource類:SmartGWT的DataSource.destroy()和娛樂
public class MyDataSource extends DataSource {
private static MyDataSource instance;
private static final String COLUMN_ONE = "One";
private static final String COLUMN_TWO = "Two";
public static MyDataSource getInstance() {
if (instance == null) {
instance = new MyDataSource("ID");
}
return instance;
}
private MyDataSource(String id) {
setDataProtocol(DSProtocol.CLIENTCUSTOM);
setDataFormat(DSDataFormat.CUSTOM);
setClientOnly(false);
constructDataSource(id);
}
private void constructDataSource(String id) {
setID(id);
DataSourceTextField one = new DataSourceTextField(COLUMN_ONE);
DataSourceTextField two= new DataSourceTextField(COLUMN_TWO);
setFields(one, two);
}
// and the rest of the class
}
我通過MyDataSource ds = MyDataSource.getInstance();
並在一些行動創建另一類這個類的一個實例,我需要銷燬並重新創建它。我做ds.destroy(); ds = MyDataSource.getInstance();
,但我注意到instance
在銷燬後不爲空,所以基本上第二次調用MyDataSource.getInstance();
正在將舊對象返回給我。我怎樣才能銷燬這個實例?