/** * Implementation of abstract method processModelNode suitable for distributed cache * * @param cache * @param configuration * @param dependencies * @return */ @Override void processModelNode( String containerName, ModelNode cache, ConfigurationBuilder builder, List<Dependency<?>> dependencies) { // process the basic clustered configuration super.processModelNode(containerName, cache, builder, dependencies); // process the additional distributed attributes and elements if (cache.hasDefined(ModelKeys.OWNERS)) { builder.clustering().hash().numOwners(cache.get(ModelKeys.OWNERS).asInt()); } if (cache.hasDefined(ModelKeys.VIRTUAL_NODES)) { builder.clustering().hash().numVirtualNodes(cache.get(ModelKeys.VIRTUAL_NODES).asInt()); } if (cache.hasDefined(ModelKeys.L1_LIFESPAN)) { long lifespan = cache.get(ModelKeys.L1_LIFESPAN).asLong(); if (lifespan > 0) { builder.clustering().l1().lifespan(lifespan); } else { builder.clustering().l1().disable(); } } }
@Override void populate(ModelNode fromModel, ModelNode toModel) { super.populate(fromModel, toModel); if (fromModel.hasDefined(ModelKeys.OWNERS)) { toModel.get(ModelKeys.OWNERS).set(fromModel.get(ModelKeys.OWNERS)); } if (fromModel.hasDefined(ModelKeys.VIRTUAL_NODES)) { toModel.get(ModelKeys.VIRTUAL_NODES).set(fromModel.get(ModelKeys.VIRTUAL_NODES)); } if (fromModel.hasDefined(ModelKeys.L1_LIFESPAN)) { toModel.get(ModelKeys.L1_LIFESPAN).set(fromModel.get(ModelKeys.L1_LIFESPAN)); } }