<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="stormTrackDecoder" class="gov.noaa.nws.ncep.edex.plugin.stormtrack.decoder.StormTrackDecoder">
		<constructor-arg ref="stormTrackPluginName"/>
	</bean>
		
	<bean id="stormTrackSeparator" class="gov.noaa.nws.ncep.edex.plugin.stormtrack.decoder.StormTrackSeparator" />

<!-- archana <bean id="stormTrackRegistry" class=" com.raytheon.uf.edex.esb.camel.BasicThreadPoolRouter"
		factory-method="getInstance" depends-on="alphaNumericDatatypePool">
		<constructor-arg><value>AlphaNumeric</value></constructor-arg>
		<constructor-arg><value>stormTrack</value></constructor-arg>
		<constructor-arg><value>directvm:stormTrackIngest</value></constructor-arg>
	</bean> -->	
<!-- class=" com.raytheon.uf.edex.distribution.DistributionSrv" -->
	<bean id="stormTrackDistRegistry" factory-bean="distributionSrv" 
		factory-method="register">
		<constructor-arg value="stormTrack" />
		<!-- <constructor-arg value="jms-generic:queue:Ingest.AlphaNumeric" />  -->
		<constructor-arg value="jms-dist:queue:Ingest.stormTrack" />
	</bean>

	<bean id="stormTrackCamelRegistered" factory-bean="contextManager"
		factory-method="register" depends-on="persistCamelRegistered">
		<constructor-arg ref="stormTrack-camel"/>
  	</bean> 

	<camelContext id="stormTrack-camel" xmlns="http://camel.apache.org/schema/spring"
		errorHandlerRef="errorHandler"
		autoStartup="false">
		<endpoint id="stormTrackFileEndpoint" uri="file:${edex.home}/data/sbn/stormtrack?noop=true&amp;idempotent=false"/>

		<!-- Begin StormTrack routes -->
		<route id="stormTrackFileConsumerRoute">
			<from ref="stormTrackFileEndpoint" />
			<bean ref="fileToString" />
			<setHeader headerName="pluginName">
				<constant>stormtrack</constant>
			</setHeader>
			<to uri="jms-generic:queue:Ingest.stormtrack" />
		</route>

		<route id="stormTrackIngestRoute">
			<from uri="jms-generic:queue:Ingest.stormtrack" />
			<setHeader headerName="pluginName">
				<constant>stormtrack</constant>
			</setHeader>
			<bean ref="stringToFile" />
			<split streaming="true">
				<method bean="stormTrackSeparator" method="separate" />
				<doTry>
					<pipeline>
						<bean ref="stormTrackDecoder" method="decode" />
						<to uri="directvm:indexAlert" />
					</pipeline>
					<doCatch>
						<exception>java.lang.Throwable</exception>
						<to uri="log:stormtrack?level=ERROR&amp;showBody=false" />
					</doCatch>
				</doTry>
			</split>
			<!--<bean ref="processUtil" method="delete" /> -->
		</route>
	</camelContext>
</beans>