2013-09-06 4 views
1

У меня есть сложный поток, который может быть значительно уменьшена до этого один (ради этого вопроса):Мул - работает более экземпляра одного и того же потока одновременно

<?xml version="1.0" encoding="UTF-8"?> 
<mule xmlns:context="http://www.springframework.org/schema/context" xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:ajax="http://www.mulesoft.org/schema/mule/ajax" xmlns:quartz="http://www.mulesoft.org/schema/mule/quartz" 
    xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/quartz http://www.mulesoft.org/schema/mule/quartz/current/mule-quartz.xsd 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/ajax http://www.mulesoft.org/schema/mule/ajax/current/mule-ajax.xsd 
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd"> 
<quartz:connector name="quartzConnector_vm" validateConnections="true" doc:name="Quartz"> 
    <quartz:factory-property key="org.quartz.scheduler.instanceName" value="MuleScheduler1"/> 
    <quartz:factory-property key="org.quartz.threadPool.class" value="org.quartz.simpl.SimpleThreadPool"/> 
    <quartz:factory-property key="org.quartz.threadPool.threadCount" value="3"/> 
    <quartz:factory-property key="org.quartz.scheduler.rmi.proxy" value="false"/> 
    <quartz:factory-property key="org.quartz.scheduler.rmi.export" value="false"/> 
    <quartz:factory-property key="org.quartz.jobStore.class" value="org.quartz.simpl.RAMJobStore"/> 
    </quartz:connector> 
    <context:property-placeholder location="my-mule-app.properties"/> 
    <flow name="testQuartzFlow1" doc:name="testQuartzFlow1"> 
     <quartz:inbound-endpoint cronExpression="${SCHEDULE_FREQUENCY}" responseTimeout="10000" connector-ref="quartzConnector_vm" doc:name="Event_generator" jobName="pollastro"> 
      <quartz:event-generator-job groupName="DEFAULT" jobGroupName="DEFAULT"> 
       <quartz:payload>"${WHOAMI}"</quartz:payload> 
      </quartz:event-generator-job> 
     </quartz:inbound-endpoint> 
     <logger level="INFO" doc:name="Logger" message="#[message:payload]"/> 
    </flow> 
</mule> 

В основном компонент кварца, что каждый определенное количество минут (чтение из файла свойств) запускает регистратор, который регистрирует другие данные, взятые из файла свойств.

Что я хочу:

  1. Для запуска более экземпляра одного и того же потока одновременно, каждый экземпляр с другим набором свойств (которые должны содержаться в файле)

  2. Уметь , в некотором роде, чтобы остановить/запустить определенный экземпляр.

Как это сделать? Спасибо

ответ

1

Для 1), я слышал об экспериментальном модуле, который позволяет использовать шаблоны конфигурации и заменять значения в шаблоне во время запуска. Я, к сожалению, пока не могу найти его, но обновлю ответ, если смогу.

В качестве альтернативы, если что-то происходит после каждого quartz:inbound-endpoint, то вы можете обернуть их в <composite-source> и программно добавить дополнительные конечные точки в этот источник во время запуска.

Другие альтернативы - это полное построение потока с помощью специального кода или даже создание конфигурации XML на основе файлов свойств в качестве фазы загрузки перед Mule.

Для 2) Вы можете управлять конечными точками (подключать/отключать) через JMX, поэтому теоретически вы должны иметь возможность управлять оконечными точками кварца таким образом.

+0

Благодарим вас за ваши драгоценные советы. Меня интересует этот экспериментальный модуль. Я также сделаю несколько экспериментов над элементом . – user1820620

+0

David, https://code.google.com/p/soi-toolkit/ Это ссылка, вы искали –

+0

Нет, но спасибо за обмен. –

Смежные вопросы