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