a0fd7c22444aad621912f42214a0aaee5ba0ac2c
[bgpcep.git] / bmp / bmp-impl / src / main / resources / org / opendaylight / blueprint / bgp-bmp.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0">
3
4   <reference id="bmpExtensionContext" interface="org.opendaylight.protocol.bmp.spi.registry.BmpExtensionConsumerContext"/>
5   <reference id="globalBossGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-boss-group"/>
6   <reference id="globalWorkerGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-worker-group"/>
7
8   <bean id="bmpSessionFactory" class="org.opendaylight.protocol.bmp.impl.session.DefaultBmpSessionFactory"/>
9
10   <bean id="bmpDispatcher" class="org.opendaylight.protocol.bmp.impl.BmpDispatcherImpl">
11     <argument ref="globalBossGroup"/>
12     <argument ref="globalWorkerGroup"/>
13     <argument>
14       <bean factory-ref="bmpExtensionContext" factory-method="getBmpMessageRegistry"/>
15     </argument>
16     <argument ref="bmpSessionFactory"/>
17   </bean>
18
19   <service ref="bmpDispatcher" interface="org.opendaylight.protocol.bmp.api.BmpDispatcher">
20     <!-- The following service properties specify the config system module and instance that correspond to
21          this OSGi service which enables the config system module to be restarted when this blueprint
22          container is restarted. -->
23     <service-properties>
24       <entry key="config-module-namespace" value="urn:opendaylight:params:xml:ns:yang:controller:bmp:impl"/>
25       <entry key="config-module-name" value="bmp-dispatcher-impl"/>
26       <entry key="config-instance-name" value="global-bmp-dispatcher"/>
27     </service-properties>
28   </service>
29
30   <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" odl:type="default"/>
31   <reference id="domPingPongDataBroker" interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker" odl:type="pingpong"/>
32   <reference id="globalBgpExtensions" interface="org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext"/>
33   <reference id="codecTreeFactory" interface="org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory"/>
34   <odl:static-reference id="domSchemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
35   <reference id="clusterSingletonServiceProvider" interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
36
37   <bean id="bmpDeployerDependecies" class="org.opendaylight.protocol.bmp.impl.config.BmpDeployerDependencies">
38     <argument ref="dataBroker"/>
39     <argument ref="domPingPongDataBroker"/>
40     <argument ref="globalBgpExtensions"/>
41     <argument ref="codecTreeFactory"/>
42     <argument>
43       <bean factory-ref="domSchemaService" factory-method="getGlobalContext"/>
44     </argument>
45     <argument ref="clusterSingletonServiceProvider"/>
46   </bean>
47
48   <bean id="bmpDeployer" class="org.opendaylight.protocol.bmp.impl.config.BmpDeployerImpl"
49         init-method="register" destroy-method="close">
50     <argument ref="bmpDispatcher"/>
51     <argument ref="bmpDeployerDependecies"/>
52   </bean>
53
54   <service ref="bmpDeployer" interface="org.opendaylight.protocol.bmp.impl.api.BmpDeployer"/>
55   <reference id="bgpConfigLoader" interface="org.opendaylight.protocol.bgp.config.loader.spi.ConfigLoader"/>
56
57   <bean id="bmpConfigLoader" class="org.opendaylight.protocol.bmp.impl.BmpMonitorConfigFileProcessor"
58         init-method="register" destroy-method="close">
59     <argument ref="bgpConfigLoader"/>
60     <argument ref="bmpDeployer"/>
61   </bean>
62 </blueprint>