awips2/edexOsgi/com.raytheon.uf.edex.activetable/res/spring/activetable-common.xml
Richard Peter 14ed9331d3 Issue #2170: Update Plugin Notification Framework
Change-Id: I2ec99fadbe2f383bb0892c59601350395f1e5277

Former-commit-id: f2d99af20e [formerly 5905c5d08d] [formerly 2085a9cd33] [formerly fbda83aeb9 [formerly 2085a9cd33 [formerly 081a19d5cfca3d717a332357dbaead199767e0b8]]]
Former-commit-id: fbda83aeb9
Former-commit-id: 92cc0eed5d5ca22d3b43329858c1619c9363e66a [formerly f7f9a4e57c]
Former-commit-id: 670e63d0dd
2013-12-03 11:41:21 -06:00

97 lines
4.8 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="vtecFilter" class="com.raytheon.edex.plugin.warning.util.WarningHasVTECFilter" />
<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="false"/>
<property name="recordClassname"
value="com.raytheon.uf.common.dataplugin.warning.WarningRecord" />
</bean>
<bean id="practiceProductOfftimeHandler" class="com.raytheon.uf.edex.activetable.PracticeProductOfftimeHandler"/>
<bean id="toDataURI" class="com.raytheon.uf.edex.ingest.notification.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?timeToLive=60000" />
</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" />
<filter>
<method bean="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>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:practiceActiveTable?level=ERROR"/>
</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"/>
</doCatch>
</doTry>
</route>
</camelContext>
</beans>