All Downloads are FREE. Search and download functionalities are using the official Maven repository.

spring.jms.master.singleseq-optimised-master-context.xml Maven / Gradle / Ivy

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">

    <!-- TODO - this import ensures that there is ONE embedded worker
         TODO - and also imports other dependencies of the standalone master.
         TODO - need to rethink this to allow multiple standalone workers.
    -->

    <import resource="classpath:/spring/jms/worker/singleseq-standalone-worker-context.xml"/>
    <import resource="classpath:/spring/spring-properties-context.xml"/>
    <import resource="classpath:/spring/directoryManager/TemporaryDirectoryManager-context.xml"/>
    <import resource="classpath:/spring/jms/activemq/activemq-cleanrun-master-context.xml"/>

    <!--  Embedded ActiveMQ Broker - in vm connections only· -->
    <amq:broker useJmx="false"
                persistent="false"
                useShutdownHook="false"
                tmpDataDirectory="${jms.broker.temp.directory}">
        <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>

    <bean id="ssOptimisedBlackBoxMaster" class="uk.ac.ebi.interpro.scan.jms.master.SingleSeqOptimisedBlackBoxMaster">
        <constructor-arg ref="amqEmbeddedWorkerJmsContainer"/>
        <property name="jobs" ref="jobs"/>
        <property name="stepInstanceDAO" ref="stepInstanceDAO"/>
        <property name="databaseCleaner" ref="databaseCleaner"/>
        <property name="messageSender" ref="masterMessageSender"/>
        <property name="unrecoverableErrorStrategy" ref="errorStrategy"/>
        <property name="hasInVmWorker" value="true"/>
        <property name="statsUtil" ref="statsUtil"/>
        <property name="concurrentInVmWorkerCount" value="${number.of.embedded.workers}"/>
        <property name="maxConcurrentInVmWorkerCount" value="${maxnumber.of.embedded.workers}"/>
        <property name="verboseLog" value="${verbose.log}"/>
        <property name="verboseLogLevel" value="${verbose.log.level}"/>
        <property name="timeDelay" value="${resource.monitor.time.delay}"/>
        <property name="temporaryDirectoryManager" ref="tempDirectoryManager"/>
        <property name="temporaryFileDirSuffix" value="${temporary.file.directory.suffix}"/>
        <property name="temporaryDirectory" value="${temporary.file.directory}"/>
        <property name="deleteWorkingDirectoryOnCompletion" value="${delete.temporary.directory.on.completion}"/>
    </bean>

    <bean id="errorStrategy" class="uk.ac.ebi.interpro.scan.jms.activemq.NonZeroExitOnUnrecoverableError"/>

    <bean id="masterMessageSender" 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="workerManagerTopic" ref="workerManagerTopic"/>
        <property name="normalWorkerJobRequestQueue" ref="jobRequestQueue"/>
    </bean>

    <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"/>
        <property name="statsUtil" ref="statsUtil"/>
    </bean>

    <!--<bean id="resourceMonitor"  depends-on="ssOptimisedBlackBoxMaster" class="uk.ac.ebi.interpro.scan.jms.master.ResourceMonitor">-->
        <!--<property name="statsUtil" ref="statsUtil"/>-->
        <!--<property name="timeDelay" value="${resource.monitor.time.delay}"/>-->
        <!--<property name="maximumLifeMillis" value="${jvm.maximum.life.seconds}"/>-->
        <!--<property name="verbose" value="${verbose.log}"/>-->
    <!--</bean>-->
</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy