
spring.jms.master.production-master-context.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jms-implementation Show documentation
Show all versions of jms-implementation Show documentation
InterProScan JMS Implementation Module
The newest version!
<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-4.2.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> <import resource="classpath:/spring/spring-properties-context.xml"/> <import resource="classpath:/spring/jobs/all-jobs-context.xml"/> <import resource="classpath:/spring/directoryManager/TemporaryDirectoryManager-context.xml"/> <import resource="classpath:/spring/jms/activemq/activemq-inVm-connection-config-context.xml"/> <!--TODO: This is already defined in the activemg broker context file--> <!-- Embedded ActiveMQ Broker - in vm connections only· --> <amq:broker id="jmsBroker" useJmx="false" persistent="true" useShutdownHook="false" start="false" dedicatedTaskRunner="false" tmpDataDirectory="${jms.broker.temp.directory}"> <amq:plugins> <amq:statisticsBrokerPlugin id="stats"/> </amq:plugins> <amq:systemUsage> <amq:systemUsage> <amq:memoryUsage> <amq:memoryUsage limit="1024 mb"/> </amq:memoryUsage> <amq:storeUsage> <amq:storeUsage limit="1 gb"/> </amq:storeUsage> <amq:tempUsage> <amq:tempUsage limit="100 mb"/> </amq:tempUsage> </amq:systemUsage> </amq:systemUsage> <amq:transportConnectors> <amq:transportConnector uri="vm://localhost"/> </amq:transportConnectors> </amq:broker> <!-- JMS Exception handler--> <bean id="jmsIOExceptionHandler" class="uk.ac.ebi.interpro.scan.jms.activemq.JMSIOExceptionHandler" /> <bean id="master" class="uk.ac.ebi.interpro.scan.jms.master.ProductionMaster"> <property name="jobs" ref="jobs"/> <property name="stepInstanceDAO" ref="productionStepInstanceDAO"/> <property name="projectId" value="${user.digest}"/> <property name="messageSender"> <bean class="uk.ac.ebi.interpro.scan.jms.activemq.MasterMessageSenderImpl"> <property name="workerJobRequestQueue" ref="jobRequestQueue"/> <property name="stepExecutionDAO" ref="stepExecutionDAO"/> <property name="jmsTemplate" ref="inVmJmsTemplate"/> <property name="normalWorkerJobRequestQueue" ref="jobRequestQueue"/> <property name="highmemWorkerJobRequestQueue" ref="highMemJobRequestQueue"/> <property name="workerManagerTopic" ref="workerManagerTopic"/> <property name="jmsTopicTemplate" ref="inVmJmsTopicTemplate"/> </bean> </property> <property name="unrecoverableErrorStrategy"> <bean class="uk.ac.ebi.interpro.scan.jms.activemq.NonZeroExitOnUnrecoverableError"/> </property> <property name="workerRunner"> <bean class="uk.ac.ebi.interpro.scan.jms.master.queuejumper.platforms.SubmissionWorkerRunner"> <property name="submissionCommand" value="bsub -q production-rh7 -o worker.lsf.out -e worker.lsf.err -J i5EsJms ${worker.command}"/> <property name="gridCommand" value="${grid.lsf.master.command}"/> <property name="projectId" value="${user.digest}"/> <property name="i5Command" value="${worker.command}"/> <property name="gridJobsLimit" value="${grid.jobs.limit}"/> <property name="lsfMonitor" ref="lsfMonitor"/> <property name="gridName" value="${grid.name}"/> <property name="highMemory" value="false"/> <property name="workerStartupStrategy"> <bean class="uk.ac.ebi.interpro.scan.jms.master.queuejumper.platforms.UnrestrictedWorkerStartupStrategy"/> </property> </bean> </property> <property name="workerRunnerHighMemory"> <bean class="uk.ac.ebi.interpro.scan.jms.master.queuejumper.platforms.SubmissionWorkerRunner"> <property name="submissionCommand" value="bsub -q production-rh7 -o highmem.worker.lsf.out -e highmem.worker.lsf.err -J i5EsJms ${worker.high.memory.command}"/> <property name="gridCommand" value="${grid.lsf.master.high.memory.command}"/> <property name="projectId" value="${user.digest}"/> <property name="i5Command" value="${worker.high.memory.command}"/> <property name="highMemory" value="true"/> <property name="gridName" value="${grid.name}"/> <property name="workerStartupStrategy"> <bean class="uk.ac.ebi.interpro.scan.jms.master.queuejumper.platforms.UnrestrictedWorkerStartupStrategy"/> </property> <property name="gridJobsLimit" value="${grid.jobs.limit}"/> <property name="lsfMonitor" ref="lsfMonitor"/> </bean> </property> <property name="temporaryDirectoryManager" ref="tempDirectoryManager"/> <property name="temporaryFileDirSuffix" value="${temporary.file.directory.suffix}"/> <property name="statsUtil" ref="statsUtil"/> <property name="maxConsumers" value="${master.maxconsumers}"/> <property name="temporaryDirectory" value="${temporary.file.directory}"/> </bean> <bean id="portExclusionList" class="java.lang.String"> <constructor-arg value="${tcp.port.exclusion.list}"/> </bean> <bean id="lsfMonitor" class="uk.ac.ebi.interpro.scan.jms.lsf.LSFMonitor" /> <bean id="responseMonitorJmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory"/> <property name="destination" ref="jobResponseQueue"/> <property name="messageListener" ref="responseMonitorListener"/> </bean> <bean id="responseMonitorListener" class="uk.ac.ebi.interpro.scan.jms.master.ResponseMonitorImpl"> <constructor-arg ref="stepExecutionDAO"/> </bean> <!--Configuration for the local job queue listener--> <bean id="localQueueJmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory"/> <property name="destination" ref="jobRequestQueue"/> <property name="messageListener" ref="localJobQueueListener"/> <property name="concurrentConsumers" value="${number.of.embedded.workers}"/> <property name="maxConcurrentConsumers" value="${maxnumber.of.embedded.workers}"/> <property name="sessionTransacted" value="true"/> <property name="sessionAcknowledgeModeName" value="CLIENT_ACKNOWLEDGE"/> </bean> <!--<bean id="amqEmbeddedWorker" class="uk.ac.ebi.interpro.scan.jms.activemq.WorkerListener">--> <!--<property name="jobResponseQueue" ref="jobResponseQueue"/>--> <!--<property name="jmsTemplate" ref="inVmJmsTemplate"/>--> <!--<property name="stepExecutor" ref="embeddedStepExecutor"/>--> <!----> <!--</bean>--> <!--Listens to the local job queue and performs jobs--> <bean id="localJobQueueListener" class="uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener"> <property name="stepExecutor" ref="embeddedStepExecutor"/> <property name="jobResponseQueue" ref="jobResponseQueue"/> <property name="localJmsTemplate" ref="inVmJmsTemplate"/> <property name="verboseLog" value="${verbose.log}"/> <property name="statsUtil" ref="statsUtil"/> </bean> <bean id="embeddedStepExecutor" class="uk.ac.ebi.interpro.scan.jms.activemq.StepExecutionTransactionImpl"> <property name="jobs" ref="jobs"/> <property name="jmsTemplate" ref="inVmJmsTemplate"/> <property name="jobResponseQueue" ref="jobResponseQueue"/> <property name="directoryManager" ref="tempDirectoryManager"/> </bean> <!--Configuration for the statistics listener--> <bean id="statsMessageListenerJmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory"/> <property name="destination" ref="statsQueue"/> <property name="concurrentConsumers" value="1"/> <property name="messageListener" ref="statsMessageListener"/> </bean> <bean id="statsMessageListener" class="uk.ac.ebi.interpro.scan.jms.stats.StatsMessageListener"/> <bean id="statsUtil" class="uk.ac.ebi.interpro.scan.jms.stats.StatsUtil"> <property name="jmsTemplate" ref="inVmJmsTemplate"/> <property name="jobRequestQueue" ref="jobRequestQueue"/> <property name="jobResponseQueue" ref="jobResponseQueue"/> <property name="statsQueue" ref="statsQueue"/> <property name="statsMessageListener" ref="statsMessageListener" /> <property name="highMemJobRequestQueue" ref="highMemJobRequestQueue"/> <property name="workerManagerTopicQueue" ref="workerManagerTopic"/> <property name="totalJobs" value="0"/> <property name="unfinishedJobs" value="0"/> </bean> <!-- Quartz Scheduler - contains list of Quartz jobs. --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="proteinLoadTrigger"/> <!--<ref bean="startSpareParallelWorkerTrigger"/>--> </list> </property> </bean> <!-- Quartz job to load proteins from UniParc --> <bean id="proteinLoadQuartzJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="master"/> <property name="targetClass" value="uk.ac.ebi.interpro.scan.jms.master.ProductionMaster"/> <property name="targetMethod" value="createProteinLoadJob"/> </bean> <bean id="proteinLoadTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="proteinLoadQuartzJob"/> <!--Wait a while before attempting to load proteins. --> <property name="startDelay" value="${ebi.uniparc.protein.load.start.delay.seconds}000"/> <property name="repeatInterval" value="${ebi.uniparc.protein.load.repeat.interval.seconds}000"/> </bean> <!-- Quartz job to run spare parallel worker. Currently turned on. --> <!--<bean id="startSpareParallelWorkerQuartzJob"--> <!--class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">--> <!--<property name="targetObject" ref="master"/>--> <!--<property name="targetMethod" value="startNewWorkerForQuartzJob"/>--> <!--</bean>--> <!----> <!--<bean id="startSpareParallelWorkerTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">--> <!--<property name="jobDetail" ref="startSpareParallelWorkerQuartzJob"/>--> <!--<property name="startDelay" value="${spare.worker.start.delay.seconds}000"/>--> <!--<property name="repeatInterval" value="${spare.worker.repeat.interval.seconds}000"/>--> <!--</bean>--> </beans>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy