awips2/edexOsgi/com.raytheon.uf.edex.plugin.acarssounding/res/spring/acarssounding-ingest.xml
2022-05-05 12:34:50 -05:00

84 lines
No EOL
3.4 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.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="acarsAirports" class="com.raytheon.uf.edex.plugin.acarssounding.tools.AirportsBean" depends-on="acarsSoundingPluginName" >
</bean>
<bean id="acarsPersistObs" class="com.raytheon.uf.edex.plugin.acarssounding.ACARSPersistObs" depends-on="acarsRegistered, acarsAirports" >
</bean>
<bean id="acarsSounding" class="com.raytheon.uf.edex.plugin.acarssounding.ACARSSounding" depends-on="acarsRegistered" >
<constructor-arg ref="acarsSoundingPluginName" />
<constructor-arg ref="acarsAirports" />
</bean>
<bean id="acarsSoundingSplitter" class="com.raytheon.uf.edex.plugin.acarssounding.ACARSSoundingSplitter" >
</bean>
<bean factory-bean="contextManager" factory-method="registerClusteredContext">
<constructor-arg ref="clusteredAcarsPersistObs" />
</bean>
<camelContext id="acarsSoundingSrv-camel"
xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler">
<endpoint id="scheduledSoundingCron" uri="clusteredquartz://acars/createSounding/?cron=${acarssounding.cron}"/>
<!-- Schedule sounding creation -->
<route id="scheduledSounding">
<!-- Set the minutes explicitly -->
<!-- Deployed time slots -->
<from uri="scheduledSoundingCron" />
<!-- Development time slots
<from uri="clusteredquartz://acars/createSounding/?cron=00+0,5,10,15,20,25,30,35,40,45,50,55+*+*+*+?" />
-->
<split streaming="true">
<method ref="acarsSoundingSplitter" method="getSeparator"/>
<doTry>
<pipeline>
<setHeader name="pluginName">
<constant>acarssounding</constant>
</setHeader>
<setHeader name="dequeueTime">
<method ref="acarsSounding" method="getQueueTime" />
</setHeader>
<to uri="jms-durable:queue:acarssounding" />
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:acarssounding?level=ERROR"/>
</doCatch>
</doTry>
</split>
</route>
<route id="acarsSoundingProcessing">
<from uri="jms-durable:queue:acarssounding" />
<doTry>
<pipeline>
<bean ref="acarsSounding" method="processSounding" />
<to uri="direct-vm:indexAlert" />
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:acarssounding?level=ERROR"/>
</doCatch>
</doTry>
</route>
</camelContext>
<camelContext id="clusteredAcarsPersistObs"
xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler">
<route id="acarsSoundingRoute">
<from uri="jms-durable:queue:acarsPersistObs"/>
<bean ref="acarsPersistObs" method="process" />
</route>
</camelContext>
</beans>