import com.typesafe.config.Config;
import java.util.Map;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Implementation of ModuleShardConfigProvider that reads the module and shard configuration from files.
*
* @author Thomas Pantelis
*/
+@Component(immediate = true, service = ModuleShardConfigProvider.class)
public class FileModuleShardConfigProvider extends AbstractModuleShardConfigProvider {
+ private static final Logger LOG = LoggerFactory.getLogger(FileModuleShardConfigProvider.class);
+
private final String moduleShardsConfigPath;
private final String modulesConfigPath;
+ public FileModuleShardConfigProvider() {
+ this("./configuration/initial/module-shards.conf", "./configuration/initial/modules.conf");
+ }
+
public FileModuleShardConfigProvider(final String moduleShardsConfigPath, final String modulesConfigPath) {
this.moduleShardsConfigPath = moduleShardsConfigPath;
this.modulesConfigPath = modulesConfigPath;
readModulesConfig(modulesConfig, moduleConfigMap, configuration);
return moduleConfigMap;
}
+
+ @Activate
+ void activate() {
+ LOG.info("Shard configuration provider started");
+ }
+
+ @Deactivate
+ void deactivate() {
+ LOG.info("Shard configuration provider stopped");
+ }
}
<reference id="actorSystemProvider" interface="org.opendaylight.controller.cluster.ActorSystemProvider"/>
<reference id="introspectorFactory" interface="org.opendaylight.controller.cluster.datastore.DatastoreContextIntrospectorFactory"/>
<reference id="datastoreSnapshotRestore" interface="org.opendaylight.controller.cluster.datastore.DatastoreSnapshotRestore"/>
+ <reference id="fileModuleShardConfigProvider" interface="org.opendaylight.controller.cluster.datastore.config.ModuleShardConfigProvider"/>
<cm:cm-properties id="datastoreProps" persistent-id="org.opendaylight.controller.cluster.datastore"/>
</service>
<!-- Distributed Operational Datastore -->
- <bean id="fileModuleShardConfigProvider" class="org.opendaylight.controller.cluster.datastore.config.FileModuleShardConfigProvider">
- <argument value="./configuration/initial/module-shards.conf"/>
- <argument value="./configuration/initial/modules.conf"/>
- </bean>
<bean id="configurationImpl" class="org.opendaylight.controller.cluster.datastore.config.ConfigurationImpl">
<argument ref="fileModuleShardConfigProvider"/>