awips2/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/res/spring/bandwidth-datadelivery-edex-impl.xml
Dustin Johnson 94300e0c1d Issue Standardize access for EDEX service requests, separate router code into its own Spring file.
Change-Id: Ic32df9138b270d1e2c3a9d137d2ad292706ab5b7

Former-commit-id: 8038b840d8 [formerly 7852f88352] [formerly 88a9b953b6 [formerly 6ab17d82c5e4961e662acf80e26d23f3bbfaada2]]
Former-commit-id: 88a9b953b6
Former-commit-id: cc0254ba03
2013-02-26 15:06:04 -06:00

69 lines
No EOL
3.5 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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.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">
<!-- 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>
<!-- 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" />
</bean>
<util:map id="retrievalAgents">
<entry key="Retrievals-1" value-ref="subscriptionRetrievalAgentPrototype" />
<entry key="Retrievals-2" value-ref="subscriptionRetrievalAgentPrototype" />
<entry key="Retrievals-3" value-ref="subscriptionRetrievalAgentPrototype" />
<entry key="Retrievals-4" value-ref="subscriptionRetrievalAgentPrototype" />
<entry key="Retrievals-5" value-ref="subscriptionRetrievalAgentPrototype" />
</util:map>
<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>