Add blueprint wiring to sal-remoterpc-connector
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / main / java / org / opendaylight / controller / remote / rpc / RemoteRpcProviderConfig.java
index 3f6d42d7422fd3d06d71e921cbf691d43dd1ed8a..cb5097d24e40f5a73fd675835519b22c7957cec4 100644 (file)
@@ -9,11 +9,10 @@ package org.opendaylight.controller.remote.rpc;
 
 import akka.util.Timeout;
 import com.typesafe.config.Config;
+import java.util.concurrent.TimeUnit;
 import org.opendaylight.controller.cluster.common.actor.CommonConfig;
 import scala.concurrent.duration.FiniteDuration;
 
-import java.util.concurrent.TimeUnit;
-
 /**
  */
 public class RemoteRpcProviderConfig extends CommonConfig {
@@ -83,6 +82,15 @@ public class RemoteRpcProviderConfig extends CommonConfig {
         return cachedGossipTickInterval;
     }
 
+    /**
+     * This is called via blueprint xml as the builder pattern can't be used.
+     */
+    public static RemoteRpcProviderConfig newInstance(String actorSystemName, boolean metricCaptureEnabled,
+            int mailboxCapacity) {
+        return new Builder(actorSystemName).metricCaptureEnabled(metricCaptureEnabled).
+                mailboxCapacity(mailboxCapacity).build();
+    }
+
     public static class Builder extends CommonConfig.Builder<Builder>{
 
         public Builder(String actorSystemName){
@@ -104,6 +112,12 @@ public class RemoteRpcProviderConfig extends CommonConfig {
 
         }
 
+        public Builder gossipTickInterval(String interval) {
+            configHolder.put(TAG_GOSSIP_TICK_INTERVAL, interval);
+            return this;
+        }
+
+        @Override
         public RemoteRpcProviderConfig build(){
             return new RemoteRpcProviderConfig(merge());
         }