Новый функцианал: банк объектов
Преполагается, что сюда будут складываться объекты модулей, которые уходят на перезагрузку. К примеру объекты связи с Базой данных. Что бы не терять коннект, такие объекты будут помещаться в банк, а потом, после перезагрузки мдуля, доставаться от туда.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<name>Core</name>
|
||||
|
||||
<artifactId>core</artifactId>
|
||||
<version>0.3</version>
|
||||
<version>0.4</version>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<parent>
|
||||
|
||||
@@ -13,12 +13,15 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
class ASysCore implements ICore {
|
||||
private Logger logger = LoggerFactory.getLogger(ASysCore.class.getName());
|
||||
private BundleContext bundleContext;
|
||||
private List<Bundle> modules;
|
||||
private Map<String, Object> bankObjects = new HashMap<>();
|
||||
|
||||
ASysCore(BundleContext bundleContext) {
|
||||
this.bundleContext = bundleContext;
|
||||
@@ -93,4 +96,14 @@ class ASysCore implements ICore {
|
||||
|
||||
logger.trace("Reload modules - end");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveObject(String name, Object object) {
|
||||
bankObjects.put(name, object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object loadObject(String name) {
|
||||
return bankObjects.remove(name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,4 +6,6 @@ package asys.core.api;
|
||||
|
||||
public interface ICore {
|
||||
void reloadMoludes();
|
||||
void saveObject(String name, Object object);
|
||||
Object loadObject(String name);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user