Archived
0

Новый функцианал: банк объектов

Преполагается, что сюда будут складываться объекты модулей, которые уходят на перезагрузку. К примеру объекты связи с Базой данных. Что бы не терять коннект, такие объекты будут помещаться в банк, а потом, после перезагрузки мдуля, доставаться от туда.
This commit is contained in:
2016-07-30 19:31:45 +03:00
parent 410f304acf
commit 49fb31399d
3 changed files with 16 additions and 1 deletions

View File

@@ -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>

View File

@@ -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);
}
} }

View File

@@ -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);
} }