Provide RIB/BGPExtensionConsumerContext as singletons 51/6951/1
authorMarek Gradzki <mgradzki@cisco.com>
Wed, 31 May 2017 08:39:24 +0000 (10:39 +0200)
committerMarek Gradzki <mgradzki@cisco.com>
Wed, 31 May 2017 08:39:55 +0000 (10:39 +0200)
Whitout specifying it explicitly Guice might create more instances

Change-Id: Ia3cf56e54d59fa49488ab93a26a9db44cec51e8d
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
infra/bgp-distribution/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java

index 461fb89..650f637 100644 (file)
@@ -17,6 +17,7 @@
 package io.fd.honeycomb.infra.bgp;
 
 import com.google.inject.AbstractModule;
+import com.google.inject.Singleton;
 import com.google.inject.multibindings.Multibinder;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderActivator;
@@ -46,7 +47,8 @@ public final class BgpExtensionsModule extends AbstractModule {
         ribExtensionBinder.addBinding().to(org.opendaylight.protocol.bgp.linkstate.impl.RIBActivator.class);
         ribExtensionBinder.addBinding().to(org.opendaylight.protocol.bgp.l3vpn.ipv4.RibIpv4Activator.class);
         ribExtensionBinder.addBinding().to(org.opendaylight.protocol.bgp.l3vpn.ipv6.RibIpv6Activator.class);
-        bind(RIBExtensionConsumerContext.class).toProvider(RIBExtensionConsumerContextProvider.class);
+        bind(RIBExtensionConsumerContext.class).toProvider(RIBExtensionConsumerContextProvider.class)
+            .in(Singleton.class);
     }
 
     private void configureBGPExtensions() {
@@ -59,6 +61,7 @@ public final class BgpExtensionsModule extends AbstractModule {
         bgpExtensionBinder.addBinding().to(org.opendaylight.protocol.bgp.linkstate.impl.BGPActivator.class);
         bgpExtensionBinder.addBinding().to(org.opendaylight.protocol.bgp.l3vpn.ipv4.BgpIpv4Activator.class);
         bgpExtensionBinder.addBinding().to(org.opendaylight.protocol.bgp.l3vpn.ipv6.BgpIpv6Activator.class);
-        bind(BGPExtensionConsumerContext.class).toProvider(BGPExtensionConsumerContextProvider.class);
+        bind(BGPExtensionConsumerContext.class).toProvider(BGPExtensionConsumerContextProvider.class)
+            .in(Singleton.class);
     }
 }