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

95 lines
No EOL
4.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="toDataURI" class="com.raytheon.uf.edex.ingest.notification.ToDataURI"/>
<bean id="practiceVtecDecoder" class="com.raytheon.uf.edex.activetable.decoder.PracticeVtecDecoder">
<property name="pluginName" value="practicewarning"/>
<property name="pluginFQN" value="com.raytheon.edex.plugin.warning"/>
<property name="moduleName" value="WarningDecoder"/>
<property name="cache" value="false"/>
<property name="recordClassname" value="com.raytheon.uf.common.dataplugin.warning.PracticeWarningRecord"/>
</bean>
<camelContext id="clusteredActiveTableContext" xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler">
<route id="activeTablePendingRoute">
<from uri="jms-durable:queue:activeTablePending"/>
<doTry>
<bean ref="activeTableSrv" method="vtecArrived"/>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:activeTable?level=ERROR"/>
</doCatch>
</doTry>
</route>
</camelContext>
<camelContext id="activetable-ingest" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
<route id="activeTableVtecFilterRoute">
<from uri="direct-vm:activeTableVtecFilter"/>
<doTry>
<pipeline>
<filter>
<method ref="vtecFilter" method="hasVTEC"/>
<bean ref="activeTableSrv" method="transformFromOperationalWarnings" />
<to uri="jms-durable:queue:activeTablePending"/>
</filter>
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:vtecFilter?level=ERROR"/>
</doCatch>
</doTry>
</route>
</camelContext>
<camelContext id="activetable-practice-ingest" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
<route id="practiceVtecRoute">
<from uri="jms-generic:queue:practiceVtec"/>
<doTry>
<pipeline>
<bean ref="serializationUtil" method="transformFromThrift"/>
<setHeader name="notifygfe">
<simple>${body?.notifyGFE}</simple>
</setHeader>
<setHeader name="drtstring">
<simple>${body?.drtString}</simple>
</setHeader>
<bean ref="practiceVtecDecoder" method="decode"/>
<bean ref="wwaGeometryCompleter" method="addMissingGeometries"/>
<bean ref="index" method="auditMissingPiecesForDatabaseOnlyPdos"/>
<bean ref="index" method="index"/>
<bean ref="processUtil" method="log"/>
<multicast parallelProcessing="false">
<filter>
<simple>${header?.notifygfe.booleanValue}</simple>
<to uri="direct-vm:stageNotification"/>
</filter>
<filter>
<method ref="vtecFilter" method="hasVTEC"/>
<bean ref="activeTableSrv" method="practiceVtecArrived"/>
<bean ref="toDataURI" method="toPracticeNotificationMsg"/>
<bean ref="serializationUtil" method="transformToThrift"/>
<to uri="jms-generic:topic:edex.alerts.practicewarning?timeToLive=60000&amp;deliveryPersistent=false"/>
</filter>
</multicast>
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:practiceActiveTable?level=ERROR"/>
</doCatch>
</doTry>
</route>
</camelContext>
<bean factory-bean="contextManager" factory-method="registerClusteredContext">
<constructor-arg ref="clusteredActiveTableContext"/>
</bean>
</beans>