awips2/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/res/spring/bandwidth-datadelivery-edex-impl.xml
Dustin Johnson b6a3c3ae80 Issue #2000 Fix reinitializing of bandwidth manager
Change-Id: I8af056eea7d40a13e9189afa81414f7088690267

Former-commit-id: b700ef7a95 [formerly e38e8d7dc5] [formerly e374011c49 [formerly 1073806e6f0a84da0538160d83ee3c12b92d84d5]]
Former-commit-id: e374011c49
Former-commit-id: 98d99250b2
2013-05-15 10:24:33 -05:00

74 lines
No EOL
3.6 KiB
XML

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<tx:annotation-driven transaction-manager="metadataTxManager"
proxy-target-class="true" />
<!-- Stores beans that are used in bandwidth-datadelivery.xml, but that
have different implementations between production code and test code -->
<bean
class="com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory">
<!-- This bean version is used to set the EDEX instance of BandwidthManager -->
<constructor-arg ref="bandwidthManager" />
</bean>
<bean id="hibernateBandwidthDbInit"
class="com.raytheon.uf.edex.datadelivery.bandwidth.hibernate.HibernateBandwidthDbInit">
<property name="dao" ref="bandwidthAllocationDao" />
</bean>
<!-- Used as the context for creating the BandwidthManager -->
<bean id="bandwidthContextFactory"
class="com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory">
<!-- The bandwidth dao implementation -->
<constructor-arg ref="hibernateBandwidthDao" />
<!-- The bandwidth manager initializer -->
<constructor-arg>
<bean
class="com.raytheon.uf.edex.datadelivery.bandwidth.hibernate.HibernateBandwidthInitializer">
<constructor-arg>
<bean
class="com.raytheon.uf.edex.datadelivery.bandwidth.util.FindActiveSubscriptionsForRoute">
<constructor-arg ref="subscriptionRoutesToSchedule" />
</bean>
</constructor-arg>
</bean>
</constructor-arg>
<!-- The strategy for how to create the bandwidth manager -->
<constructor-arg ref="bandwidthManagerCreator" />
<!-- The db initializer -->
<constructor-arg ref="hibernateBandwidthDbInit" />
</bean>
<camelContext id="BandwidthManager-context"
xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
<route id="bandwidthManagerProcessWork">
<from
uri="jms-generic:queue:matureSubscriptions?destinationResolver=#qpidDurableResolver" />
<doTry>
<pipeline>
<bean ref="serializationUtil" method="transformFromThrift" />
<bean ref="BandwidthManagerProcessor" method="process" />
<bean ref="BandwidthManagerRetrieval" method="generateRetrieval" />
<!-- notify retrieval threads, if data delivery made
into cluster this should move to topic post -->
<to uri="directvm:notifyRetrieval" />
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to
uri="log:BandwidthManagerProcess?level=ERROR&amp;showBody=false&amp;showCaughtException=true&amp;showStackTrace=true" />
</doCatch>
</doTry>
</route>
</camelContext>
</beans>