awips2/edexOsgi/com.raytheon.edex.plugin.text/res/spring/text-ingest.xml
Steve Harris f60aba35d6 Merge branch 'omaha_14.2.1' into development
Conflicts:
	edexOsgi/com.raytheon.edex.plugin.obs/res/spring/obs-ingest.xml

Former-commit-id: 7d94859f45aaa3d732cbb25fc55348996cfe481c
2014-03-07 15:43:40 -06:00

239 lines
No EOL
8.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="textDecoder" class="com.raytheon.edex.plugin.text.TextDecoder">
<property name="pluginName" value="text" />
<property name="decoderMode" value="STD" />
</bean>
<bean id="textDistRegistry" factory-bean="distributionSrv"
factory-method="register">
<constructor-arg value="text" />
<constructor-arg value="jms-durable:queue:Ingest.Text"/>
</bean>
<bean id="textHandleoupDistRegistry" factory-bean="handleoupDistributionSrv"
factory-method="register">
<constructor-arg value="text" />
<constructor-arg value="jms-durable:queue:Ingest.Text"/>
</bean>
<!-- define the bean that handles automatic faxing of products. -->
<bean id="autoFaxManager" class="com.raytheon.edex.plugin.text.subscription.AutoFaxManager">
</bean>
<!-- verify text product info for site, spawns in separate thread to not delay start up -->
<bean id="textVersionPurge" class="com.raytheon.edex.plugin.text.TextVersionPurge" depends-on="textRegistered"/>
<!-- Special handler for text plugin archives that bases filenames off
creation time-->
<bean id="textArchiveNamer" class="com.raytheon.edex.plugin.text.maintenance.archiver.TextArchiveFileNameFormatter" />
<bean factory-bean="databaseArchiver" factory-method="registerPluginArchiveFormatter" depends-on="databaseArchiver">
<constructor-arg value="text" />
<constructor-arg ref="textArchiveNamer" />
</bean>
<bean factory-bean="databaseArchiver" factory-method="registerPluginBatchSize" depends-on="databaseArchiver">
<constructor-arg value="text" />
<constructor-arg value="1000" type="java.lang.Integer"/>
</bean>
<bean id="afosToAwipsListener" class="com.raytheon.edex.plugin.text.ingest.AfosToAwipsListener" />
<bean id="afosBrowserListener" class="com.raytheon.edex.plugin.text.ingest.AfosBrowserModelSubscriber" />
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="afos2awips.txt" />
<constructor-arg ref="afosToAwipsListener" />
</bean>
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="textCCChelp.txt" />
<constructor-arg ref="afosBrowserListener" />
</bean>
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="textNNNhelp.txt" />
<constructor-arg ref="afosBrowserListener" />
</bean>
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="textCategoryClass.txt" />
<constructor-arg ref="afosBrowserListener" />
</bean>
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="textOriginTable.txt" />
<constructor-arg ref="afosBrowserListener" />
</bean>
<bean factory-bean="ndmProc" factory-method="registerListener">
<constructor-arg value="afosMasterPIL.txt" />
<constructor-arg ref="afosBrowserListener" />
</bean>
<camelContext id="text-camel"
xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler">
<!--
<endpoint id="textFileEndpoint" uri="file:${edex.home}/data/sbn/text?noop=true&amp;idempotent=false" />
<route id="textFileConsumerRoute">
<from ref="textFileEndpoint" />
<bean ref="fileToString" />
<setHeader headerName="pluginName">
<constant>text</constant>
</setHeader>
<to uri="jms-durable:queue:Ingest.Text" />
</route>
-->
<!--
Text routes
-->
<route id="textDirectDecodedIngestRoute">
<from uri="direct-vm:textDirectDecodedIngestRoute" />
<setHeader headerName="pluginName">
<constant>text</constant>
</setHeader>
<doTry>
<pipeline>
<bean ref="textDecoder" method="writeTextProduct" />
<bean ref="processUtil" method="log"/>
<multicast>
<to uri="direct:textToWatchWarn"/>
<to uri="direct:textSerializeRoute" />
<to uri="direct:textPurgeAccumulate" />
<to uri="vm:autoFaxRoute" />
</multicast>
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:text?level=INFO"/>
</doCatch>
</doTry>
</route>
<route id="textDirectUndecodedIngestRoute">
<from uri="direct-vm:textDirectUndecodedIngestRoute" />
<setHeader headerName="pluginName">
<constant>text</constant>
</setHeader>
<doTry>
<pipeline>
<bean ref="textDecoder" method="decode" />
<bean ref="processUtil" method="log"/>
<multicast>
<to uri="direct:textToWatchWarn"/>
<to uri="direct:textSerializeRoute" />
<to uri="direct:textPurgeAccumulate" />
<to uri="vm:autoFaxRoute" />
</multicast>
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:text?level=INFO"/>
</doCatch>
</doTry>
</route>
<route id="textUndecodedIngestRoute">
<from uri="jms-durable:queue:Ingest.Text?concurrentConsumers=2" />
<setHeader headerName="pluginName">
<constant>text</constant>
</setHeader>
<doTry>
<pipeline>
<bean ref="stringToFile" />
<bean ref="textDecoder" method="decodeFile" />
<bean ref="processUtil" method="log"/>
<multicast>
<!-- This route needs to go to Mark's -->
<to uri="direct:textToWatchWarn"/>
<to uri="direct:textSerializeRoute" />
<to uri="direct:textPurgeAccumulate" />
<to uri="vm:autoFaxRoute" />
</multicast>
</pipeline>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:text?level=INFO"/>
</doCatch>
</doTry>
</route>
<route id="textToWatchWarnRoute">
<from uri="direct:textToWatchWarn" />
<bean ref="textDecoder" method="transformToProductIds" />
<to uri="jms-durable:queue:watchwarn" />
</route>
<route id="textSerializationRoute">
<from uri="direct:textSerializeRoute" />
<split streaming="true" >
<method bean="textDecoder" method="separator" />
<bean ref="textDecoder" method="transformToSimpleString" />
<bean ref="serializationUtil" method="transformToThrift"/>
<to uri="jms-generic:topic:edex.alarms.msg?timeToLive=60000" />
</split>
</route>
<route id="textPurgeAccumulateRoute">
<from uri="direct:textPurgeAccumulate" />
<bean ref="textVersionPurge" method="accumulateAfosIdToPurge" />
</route>
<route id="textPurgeSendRoute">
<from uri="timer://textPurgeSend?period=60s" />
<doTry>
<bean ref="textVersionPurge" method="getAfosIdsToPurge"/>
<to uri="jms-generic:queue:textPurgeRequest" />
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:purge?level=ERROR"/>
</doCatch>
</doTry>
</route>
<!-- AutoFax route -->
<route id="autoFaxRoute">
<from uri="vm:autoFaxRoute" />
<doTry>
<bean ref="autoFaxManager" method="processEvent" />
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:autoFax?level=ERROR"/>
</doCatch>
</doTry>
</route>
</camelContext>
<camelContext id="clustered-text-camel"
xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler"
autoStartup="false">
<!-- TextPurge route -->
<route id="textPurgeRequestRoute">
<from uri="jms-generic:queue:textPurgeRequest" />
<doTry>
<bean ref="textVersionPurge" method="addAfosIdsToPurge"/>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:purge?level=ERROR"/>
</doCatch>
</doTry>
</route>
<route id="textPurgeRoute">
<from uri="timer://textPurge?period=60s" />
<doTry>
<bean ref="textVersionPurge" method="purgeAfosIds"/>
<doCatch>
<exception>java.lang.Throwable</exception>
<to uri="log:purge?level=ERROR"/>
</doCatch>
</doTry>
</route>
</camelContext>
<bean factory-bean="clusteredCamelContextMgr"
factory-method="register">
<constructor-arg ref="clustered-text-camel" />
</bean>
</beans>