2013-09-06 2 views
1

I 대폭 (이 문제를 위해)이 하나 저감 할 수있는 복잡한 유동 가지고마다 일정량뮬 - 동일한 흐름 이상의 인스턴스를 실행하는 동시에

<?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 구성을 pre-Mule 부트 단계로 생성하는 것입니다.

2) JMX에서 끝점 (연결/연결 해제)을 제어 할 수 있으므로 이론적으로 Quartz 끝점을 그런 식으로 제어 할 수 있어야합니다.

+0

감사드립니다. 이 실험 모듈에 관심이 있습니다. 또한 요소에 대해 몇 가지 실험을 수행 할 것이다. – user1820620

+0

David, https://code.google.com/p/soi-toolkit/ 참고 자료입니까? –

+0

아니요,하지만 공유해 주셔서 감사합니다. –

관련 문제