Bug 1446: Add JMX stats for in-memory data store
[controller.git] / opendaylight / md-sal / sal-inmemory-datastore / src / main / java / org / opendaylight / controller / config / yang / inmemory_datastore_provider / InMemoryConfigDataStoreProviderModule.java
1 package org.opendaylight.controller.config.yang.inmemory_datastore_provider;
2
3 import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore;
4 import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStoreConfigProperties;
5 import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStoreFactory;
6 import org.opendaylight.controller.md.sal.dom.store.impl.jmx.InMemoryDataStoreStats;
7
8 public class InMemoryConfigDataStoreProviderModule extends org.opendaylight.controller.config.yang.inmemory_datastore_provider.AbstractInMemoryConfigDataStoreProviderModule {
9
10     public InMemoryConfigDataStoreProviderModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
11         super(identifier, dependencyResolver);
12     }
13
14     public InMemoryConfigDataStoreProviderModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, final org.opendaylight.controller.config.yang.inmemory_datastore_provider.InMemoryConfigDataStoreProviderModule oldModule, final java.lang.AutoCloseable oldInstance) {
15         super(identifier, dependencyResolver, oldModule, oldInstance);
16     }
17
18     @Override
19     public void customValidation() {
20         // add custom validation form module attributes here.
21     }
22
23     @Override
24     public java.lang.AutoCloseable createInstance() {
25
26         InMemoryDOMDataStore dataStore = InMemoryDOMDataStoreFactory.create(
27                 "DOM-CFG", getSchemaServiceDependency(),
28                 InMemoryDOMDataStoreConfigProperties.create(getMaxDataChangeExecutorPoolSize(),
29                         getMaxDataChangeExecutorQueueSize(), getMaxDataChangeListenerQueueSize(),
30                         getMaxDataStoreExecutorQueueSize()));
31
32         InMemoryDataStoreStats statsBean = new InMemoryDataStoreStats("InMemoryConfigDataStore",
33                 dataStore.getDataChangeListenerNotificationManager(), dataStore.getDomStoreExecutor());
34
35         dataStore.setCloseable(statsBean);
36
37         return dataStore;
38     }
39
40 }