awips2/edexOsgi/com.raytheon.uf.edex.plugin.modelsounding/res/spring/modelsounding-ingest.xml
Richard Peter 8ae9cfba55 Issue #2726: Autoset route startup order.
Change-Id: I1f4165b6eab12207cf6b6d31964e8170ebe1bddc

Former-commit-id: 4dc91f494f [formerly 9b9d2b475f4777febf125e4013cba0d971eaf8e8]
Former-commit-id: b148d11ec9
2014-05-06 09:46:41 -05:00

100 lines
4.1 KiB
XML

<beans xmlns="http://www.springframework.org/schema/beans"
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-3.1.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="modelsoundingPersistenceManager"
class="com.raytheon.uf.edex.plugin.modelsounding.ModelSoundingPersistenceManager">
</bean>
<bean id="modelsoundingDecoder"
class="com.raytheon.uf.edex.plugin.modelsounding.ModelSoundingDecoder">
<property name="modelSoundingPersistenceManager" ref="modelsoundingPersistenceManager" />
</bean>
<!-- Filter down sounding data -->
<!-- bean id="mdlsndgFilter" class="com.raytheon.uf.edex.decodertools.core.filterimpl.PluginDataObjectFilter">
<constructor-arg type="java.lang.String" value="modelSounding_filters.xml" />
</bean -->
<bean id="mdlsndgDistRegistry" factory-bean="distributionSrv"
factory-method="register">
<constructor-arg ref="modelsoundingPluginName" />
<constructor-arg value="jms-durable:queue:Ingest.modelsounding"/>
</bean>
<bean id="modelBufrListener" class="com.raytheon.uf.edex.plugin.modelsounding.ingest.ModelBufrSubscriber" />
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="modelBufr.spi" />
<constructor-arg ref="modelBufrListener" />
</bean>
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="modelBufrStationInfo.txt" />
<constructor-arg ref="modelBufrListener" />
</bean>
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="modelBufrStationList.txt" />
<constructor-arg ref="modelBufrListener" />
</bean>
<bean factory-bean="contextManager" factory-method="registerContextStateProcessor">
<constructor-arg ref="modelsounding-camel"/>
<constructor-arg ref="modelsoundingPersistenceManager"/>
</bean>
<camelContext id="modelsounding-camel"
xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler">
<!--
<endpoint id="modelsndgFileEndpoint"
uri="file:${edex.home}/data/sbn/mdlsndg?noop=true&amp;idempotent=false" />
<route id="modelsndgFileConsumerRoute">
<from ref="modelsndgFileEndpoint" />
<bean ref="fileToString" />
<setHeader headerName="pluginName">
<constant>modelsounding</constant>
</setHeader>
<to uri="jms-durable:queue:Ingest.modelsounding" />
</route>
-->
<!-- Begin Model Sounding routes -->
<route id="modelsndgIngestRoute">
<from uri="jms-durable:queue:Ingest.modelsounding"/>
<setHeader headerName="pluginName">
<constant>modelsounding</constant>
</setHeader>
<doTry>
<pipeline>
<bean ref="stringToFile" />
<bean ref="modelsoundingDecoder" method="decode"/>
<!-- model sounding decoder has dedicated store thread, only need to forward to log -->
<bean ref="processUtil" method="log"/>
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:modelsounding?level=ERROR"/>
</doCatch>
</doTry>
</route>
<!-- Thread runs for life of context -->
<route id="modelSoundingPersistThread">
<from uri="timer://modelSoundingPersistenceManager?repeatCount=1"/>
<bean ref="modelsoundingPersistenceManager" method="run"/>
</route>
<!--
Copy of persist route without the log call.
This route must come after the timer route for proper startup/shutdown order.
-->
<route id="modelSoundingPersistIndexAlert">
<from uri="direct-vm:modelSoundingPersistIndexAlert"/>
<bean ref="persist" method="persist"/>
<bean ref="index" method="index"/>
<to uri="direct-vm:stageNotification"/>
</route>
</camelContext>
</beans>