96 lines
5.1 KiB
XML
96 lines
5.1 KiB
XML
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
xmlns:amq="http://activemq.apache.org/schema/core" 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://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
|
|
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
|
|
|
<bean id="activeTableSrv" class="com.raytheon.uf.edex.activetable.ActiveTableSrv" />
|
|
<bean id="activeTable" class="com.raytheon.uf.edex.activetable.ActiveTable" />
|
|
<bean id="activeTableDatabaseProperties" class="com.raytheon.uf.edex.database.DatabasePluginProperties">
|
|
<property name="pluginFQN" value="com.raytheon.uf.common.activetable" />
|
|
<property name="database" value="metadata" />
|
|
</bean>
|
|
<bean factory-bean="dbPluginRegistry" factory-method="register">
|
|
<constructor-arg value="com.raytheon.uf.common.activetable"/>
|
|
<constructor-arg ref="activeTableDatabaseProperties"/>
|
|
</bean>
|
|
<bean id="jms-activetable" class="org.apache.camel.component.jms.JmsComponent">
|
|
<constructor-arg ref="jmsActiveTableConfig" />
|
|
<property name="taskExecutor" ref="activeTableMergeThreadPool" />
|
|
</bean>
|
|
<bean id="jmsActiveTableConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
|
factory-bean="jmsConfig" factory-method="copy" />
|
|
<bean id="activeTableMergeThreadPool"
|
|
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
|
<property name="corePoolSize" value="2" />
|
|
<property name="maxPoolSize" value="2" />
|
|
</bean>
|
|
<bean id="timeOffsetDecoder" class="com.raytheon.uf.edex.python.decoder.TimeOffsetDecoder">
|
|
<property name="pluginName" value="warning" />
|
|
<property name="pluginFQN" value="com.raytheon.edex.plugin.warning" />
|
|
<property name="moduleName" value="WarningDecoder" />
|
|
<property name="cache" value="true"/>
|
|
<property name="recordClassname"
|
|
value="com.raytheon.uf.common.dataplugin.warning.WarningRecord" />
|
|
</bean>
|
|
<bean id="practiceProductOfftimeHandler" class="com.raytheon.uf.edex.activetable.PracticeProductOfftimeHandler"/>
|
|
<bean id="uriAggregator" class="com.raytheon.uf.edex.esb.camel.DataUriAggregator" />
|
|
<bean id="toDataURI" class="com.raytheon.uf.edex.esb.camel.ToDataURI" />
|
|
<camelContext id="activetable-camel"
|
|
xmlns="http://camel.apache.org/schema/spring"
|
|
errorHandlerRef="errorHandler">
|
|
<route id="vtecNotify">
|
|
<from uri="vm:edex.vtecAlert" />
|
|
<bean ref="serializationUtil" method="transformToThrift" />
|
|
<to uri="jms-generic:topic:edex.alerts.vtec" />
|
|
</route>
|
|
<route id="practiceVtecRoute">
|
|
<from uri="jms-activetable:queue:practiceActiveTable?concurrentConsumers=1" />
|
|
<doTry>
|
|
<bean ref="activeTable" method="dumpProductToTempFile" />
|
|
<bean ref="practiceWarningDecoder" method="decode" />
|
|
<bean ref="index" method="index" />
|
|
<bean ref="activeTableSrv" method="practiceVtecArrived" />
|
|
<bean ref="toDataURI" method="toDataURI"/>
|
|
<bean ref="uriAggregator" method="addDataUris" />
|
|
<bean ref="uriAggregator" method="sendPracticeQueuedUris" />
|
|
<bean ref="serializationUtil" method="transformToThrift" />
|
|
<to uri="jms-generic:topic:edex.alerts.practicewarning?timeToLive=60000&deliveryPersistent=false"/>
|
|
<doCatch>
|
|
<exception>java.lang.Throwable</exception>
|
|
<to uri="log:practiceActiveTable?level=ERROR&showBody=false&showCaughtException=true&showStackTrace=true"/>
|
|
</doCatch>
|
|
</doTry>
|
|
</route>
|
|
<route id="practiceVtecOffsetRoute">
|
|
<from uri="vm:edex.vtecDecoder" />
|
|
<doTry>
|
|
<pipeline>
|
|
<setHeader headerName="drtstring">
|
|
<simple>${body?.drtString}</simple>
|
|
</setHeader>
|
|
<setHeader headerName="offsetseconds">
|
|
<simple>${body?.offsetSeconds}</simple>
|
|
</setHeader>
|
|
<setHeader headerName="notifygfe">
|
|
<simple>${body?.notifyGFE}</simple>
|
|
</setHeader>
|
|
<bean ref="practiceProductOfftimeHandler" method="process"/>
|
|
<bean ref="activeTable" method="dumpProductToTempFile"/>
|
|
<bean ref="timeOffsetDecoder" method="decode"/>
|
|
<multicast parallelProcessing="false">
|
|
<bean ref="activeTableSrv" method="practiceVtecArrived"/>
|
|
<filter>
|
|
<simple>${header?.notifygfe.booleanValue}</simple>
|
|
<to uri="jms-generic:queue:practiceNotify"/>
|
|
</filter>
|
|
</multicast>
|
|
</pipeline>
|
|
<doCatch>
|
|
<exception>java.lang.Throwable</exception>
|
|
<to uri="log:practiceActiveTable?level=ERROR&showBody=false&showCaughtException=true&showStackTrace=true"/>
|
|
</doCatch>
|
|
</doTry>
|
|
</route>
|
|
</camelContext>
|
|
</beans>
|