private static DatabaseImageLayout instance;
private static SimpleList publisherPopupData;
- public static DatabaseImageLayout getInstance() throws StorageObjectException
+ // the following *has* to be sychronized cause this static method
+ // could get preemted and we could end up with 2 instances of DatabaseFoo..
+ // see the "Singletons with needles and thread" article at JavaWorld -mh
+ public synchronized static DatabaseImageLayout getInstance()
+ throws StorageObjectException
{
if (instance == null) {
instance = new DatabaseImageLayout();
this.theTable="img_layout";
}
- public SimpleList getPopupData() { return getPopupData("name",true); }
+ public SimpleList getPopupData()
+ throws StorageObjectException { return getPopupData("name",true); }
}