BUG 3156 : Recreating CDS should not fail
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / main / java / org / opendaylight / controller / config / yang / config / remote_rpc_connector / RemoteRPCBrokerModule.java
index 8315bbeeb33b8beef8101c4c820ebd63a4ae1f21..5d231417fb7058c0b3f7c0be10d927c8d48ce46b 100644 (file)
@@ -1,5 +1,7 @@
 package org.opendaylight.controller.config.yang.config.remote_rpc_connector;
 
+import org.opendaylight.controller.cluster.common.actor.DefaultAkkaConfigurationReader;
+import org.opendaylight.controller.remote.rpc.RemoteRpcProviderConfig;
 import org.opendaylight.controller.remote.rpc.RemoteRpcProviderFactory;
 import org.opendaylight.controller.sal.core.api.Broker;
 import org.osgi.framework.BundleContext;
@@ -19,13 +21,25 @@ public class RemoteRPCBrokerModule extends org.opendaylight.controller.config.ya
      // add custom validation form module attributes here.
   }
 
+  @Override
+  public boolean canReuseInstance(AbstractRemoteRPCBrokerModule oldModule) {
+      return true;
+  }
+
   @Override
   public java.lang.AutoCloseable createInstance() {
     Broker broker = getDomBrokerDependency();
-    return RemoteRpcProviderFactory.createInstance(broker, bundleContext);
+
+    RemoteRpcProviderConfig config = new RemoteRpcProviderConfig.Builder(getActorSystemName())
+                              .metricCaptureEnabled(getEnableMetricCapture())
+                              .mailboxCapacity(getBoundedMailboxCapacity())
+                              .withConfigReader(new DefaultAkkaConfigurationReader())
+                              .build();
+
+    return RemoteRpcProviderFactory.createInstance(broker, bundleContext, config);
   }
 
-  public void setBundleContext(final BundleContext bundleContext) {
+  public void setBundleContext(BundleContext bundleContext) {
     this.bundleContext = bundleContext;
   }
 }