-
- private boolean allocateMeterCaches() {
- if (this.clusterMeterContainerService == null) {
- logger.warn("Meter: Un-initialized clusterMeterContainerService, can't create cache");
- return false;
- }
-
- try {
- clusterMeterContainerService.createCache("frm.originalSwMeterView",
- EnumSet.of(IClusterServices.cacheMode.TRANSACTIONAL));
-
- clusterMeterContainerService.createCache("frm.installedSwMeterView",
- EnumSet.of(IClusterServices.cacheMode.TRANSACTIONAL));
-
- clusterMeterContainerService.createCache("frm.inactiveMeters",
- EnumSet.of(IClusterServices.cacheMode.TRANSACTIONAL));
-
- clusterMeterContainerService.createCache("frm.nodeMeters",
- EnumSet.of(IClusterServices.cacheMode.TRANSACTIONAL));
-
- // TODO for cluster mode
- /*
- * clusterMeterContainerService.createCache(WORK_STATUS_CACHE,
- * EnumSet.of(IClusterServices.cacheMode.NON_TRANSACTIONAL,
- * IClusterServices.cacheMode.ASYNC));
- *
- * clusterMeterContainerService.createCache(WORK_ORDER_CACHE,
- * EnumSet.of(IClusterServices.cacheMode.NON_TRANSACTIONAL,
- * IClusterServices.cacheMode.ASYNC));
- */
-
- } catch (CacheConfigException cce) {
- logger.error("Meter CacheConfigException");
- return false;
-
- } catch (CacheExistException cce) {
- logger.error(" Meter CacheExistException");
- }
-
- return true;
- }
-
- private void nonClusterMeterObjectCreate() {
- originalSwMeterView = new ConcurrentHashMap<MeterKey, Meter>();
- installedSwMeterView = new ConcurrentHashMap<MeterKey, Meter>();
- nodeMeters = new ConcurrentHashMap<Node, List<Meter>>();
- inactiveMeters = new ConcurrentHashMap<MeterKey, Meter>();
- }
-
- @SuppressWarnings({ "unchecked" })
- private boolean retrieveMeterCaches() {
- ConcurrentMap<?, ?> map;
-
- if (this.clusterMeterContainerService == null) {
- logger.warn("Meter: un-initialized clusterMeterContainerService, can't retrieve cache");
- nonClusterMeterObjectCreate();
- return false;
- }
-
- map = clusterMeterContainerService.getCache("frm.originalSwMeterView");
- if (map != null) {
- originalSwMeterView = (ConcurrentMap<MeterKey, Meter>) map;
- } else {
- logger.error("Retrieval of cache(originalSwMeterView) failed");
- return false;
- }
-
- map = clusterMeterContainerService.getCache("frm.installedSwMeterView");
- if (map != null) {
- installedSwMeterView = (ConcurrentMap<MeterKey, Meter>) map;
- } else {
- logger.error("Retrieval of cache(installedSwMeterView) failed");
- return false;
- }
-
- map = clusterMeterContainerService.getCache("frm.inactiveMeters");
- if (map != null) {
- inactiveMeters = (ConcurrentMap<MeterKey, Meter>) map;
- } else {
- logger.error("Retrieval of cache(inactiveMeters) failed");
- return false;
- }
-
- map = clusterMeterContainerService.getCache("frm.nodeMeters");
- if (map != null) {
- nodeMeters = (ConcurrentMap<Node, List<Meter>>) map;
- } else {
- logger.error("Retrieval of cache(nodeMeter) failed");
- return false;
- }
-
- return true;
- }
-
- private boolean cacheStartup() {
- if (allocateMeterCaches()) {
- if (retrieveMeterCaches()) {
- return true;
- }
- }
-
- return false;
- }
-