Fix shard deadlock in 3 nodes
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / resources / org / opendaylight / blueprint / binding-broker.xml
index 79d0868d0d445117816f20774a9b62f032574e8a..2595420c846a4cb5856ae8cb598a40df7047db01 100644 (file)
@@ -4,8 +4,8 @@
 
   <!-- Runtime binding/normalized mapping service -->
 
-  <reference id="classLoadingStrategy" interface="org.opendaylight.yangtools.sal.binding.generator.api.ClassLoadingStrategy"/>
-  <reference id="schemaService" interface="org.opendaylight.controller.sal.core.api.model.SchemaService" />
+  <reference id="classLoadingStrategy" interface="org.opendaylight.mdsal.binding.generator.api.ClassLoadingStrategy"/>
+  <reference id="schemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService" />
 
   <bean id="mappingCodec" class="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory"
          factory-method="newInstance">
@@ -13,7 +13,7 @@
   </bean>
 
   <!-- Register the BindingToNormalizedNodeCodec with the SchemaService as a SchemaContextListener -->
-  <bean id="mappingCodecReg" class="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory"
+  <bean id="mappingCodecListenerReg" class="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory"
          factory-method="registerInstance" destroy-method="close">
     <argument ref="mappingCodec"/>
     <argument ref="schemaService"/>
 
   <service ref="mappingCodec" odl:type="default">
     <interfaces>
-      <value>org.opendaylight.yangtools.binding.data.codec.api.BindingCodecTreeFactory</value>
-      <value>org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer</value>
       <value>org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer</value>
       <value>org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory</value>
     </interfaces>
   </service>
 
-  <!-- We also register the BindingToNormalizedNodeCodec with its actual class name for
-       backwards compatibility for CSS users that inject the binding-dom-mapping-service -->
-  <service ref="mappingCodec" interface="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec"
-        odl:type="default">
-    <!-- Set the appropriate service properties so the corresponding CSS module is restarted if this
-         blueprint container is restarted -->
-    <service-properties>
-      <entry key="config-module-namespace" value="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl"/>
-      <entry key="config-module-name" value="runtime-generated-mapping"/>
-      <entry key="config-instance-name" value="runtime-mapping-singleton"/>
-    </service-properties>
-  </service>
+  <service id="codec" ref="mappingCodec" interface="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec"/>
 
   <!-- Binding RPC Registry Service -->
 
   <service ref="bindingPingPongDataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
           odl:type="pingpong"/>
 
+  <!-- Legacy BindingAwareBroker -->
+
+  <bean id="bindingAwareBroker" class="org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker"
+      init-method="start" destroy-method="close">
+    <argument value="deprecated-BindingAwareBroker"/>
+    <property name="dataBroker" ref="bindingDataBroker"/>
+    <property name="mountService" ref="bindingMountPointService"/>
+    <property name="rpcBroker" ref="bindingRpcRegistry"/>
+    <property name="notificationBroker" ref="bindingNotificationProviderService"/>
+    <property name="notificationPublishService" ref="bindingNotificationPublishAdapter"/>
+  </bean>
+
+  <service ref="bindingAwareBroker" interface="org.opendaylight.controller.sal.binding.api.BindingAwareBroker"/>
 </blueprint>