2016-07-16 2 views
0

Полезная нагрузка не перенаправляется в глобальную исходящую очередь jms: // orders-queue. Он прокомментирован в потоке. Однако, когда я использую flow-ref = process-orders, сообщение отправляется в поток процессов-заказов. Почему отправка vm не работает?Конечная точка VM не вызывается

<vm:endpoint name="orders-queue" path="email.orders.in" exchange-  pattern="one-way" doc:name="VM"/> 


     <vm:endpoint name="events-queue" path="email.orders.in" exchange-pattern="one-way" doc:name="VM"/> 

<flow name="order-flow" processingStrategy="synchronous"> 
     <vm:inbound-endpoint exchange-pattern="one-way" path="order-process.queue1" doc:name="VM" /> 
    <!--<vm:outbound-endpoint exchange-pattern="one-way" ref="email.orders.in" doc:name="VM"/>--> 
    <flow-ref name="process-orders" /> 
       <catch-exception-strategy doc:name="Processing Exception"> 
     <logger 
      message="Error during flow - #[message] :: ExceptionSummary::= #[exception.summaryMessage]" 
      level="ERROR" doc:name="Logger" /> 
    </catch-exception-strategy> 
</flow> 


<flow name="process-orders" processingStrategy="synchronous"> 
    <vm:inbound-endpoint exchange-pattern="one-way" ref="email.orders.in" doc:name="VM"/> 
    <custom-transformer class="com.sw.CustomTransformer" doc:name="Java"/> 

    <logger message="Received Order : #[payload]" level="DEBUG" doc:name="Logger"/> 
     <foreach collection="#[message.payload]" doc:name="For Each" 
      rootMessageVariableName="Original"> 
      <flow-ref name="process.order" doc:name="Flow Reference"/> 
     </foreach> 
</flow> 

<sub-flow name="process.order"> 
    <processor-chain doc:name="Processor Chain" name="Event_Process_Queueing"> 
     <jms:outbound-endpoint queue="per.order.queue" 
      connector-ref="jmsConnector" doc:name="JMS - Send to Processing Queue"/> 
    <test:component/>  
    </processor-chain> 
    </sub-flow> 

ответ

0

Есть несколько ошибок в вашей конфигурации: -
Первый process.order является не поток, но к югу от потока, и вы не можете держать въездного VM конечной точки в суб-поток для вызова Это.
Так, Симметричный маршруту полезной нагрузки через очередь Global VM, который был настроен email.orders.in вы можете последовать примеру последующей конфигурации: -

<vm:endpoint name="orders-queue" path="email.orders.in" exchange-pattern="one-way" doc:name="VM"/> 
    <http:listener-config name="HTTP_Listener_Configuration2" host="localhost" port="8081" doc:name="HTTP Listener Configuration" /> 

    <flow name="Flow"> 
     <http:listener config-ref="HTTP_Listener_Configuration2" path="/test" doc:name="HTTP"/> 
     <set-payload value="Test payload" doc:name="Set Payload"/> 
     <vm:outbound-endpoint exchange-pattern="one-way" ref="orders-queue" doc:name="VM"/> 
    </flow> 

    <flow name="Flow2"> 
     <vm:inbound-endpoint exchange-pattern="one-way" ref="orders-queue" doc:name="VM"/> 
     <logger message="Received Message in Processing Queue : #[payload]" level="INFO" doc:name="Logger" /> 
    </flow> 

UPDATE: -

Как в соответствии с вашим комментарием ниже вы делаете большую ошибку при обращении к входящей и исходящей конечной точке виртуальной машины с помощью глобального соединителя VM.
Оно должно быть следующим: -

<vm:outbound-endpoint exchange-pattern="one-way" ref="events-queue" doc:name="VM"/> 

и

<vm:inbound-endpoint exchange-pattern="one-way" ref="events-queue" doc:name="VM"/> 

Вы имеете в виду ref="email.orders.in", что неправильно и должно быть ref="events-queue", как упоминалось выше, с именем соединителя Global VM

+0

я сделал ошибка при копировании потока. Я пропустил среднюю часть. Подпоток имеет только исходящую конечную точку. Проблема заключается в том, что это не работает: \t \t -> – BreenDeen

+0

Проверить обновленный ответ –

+0

Потоки - это ссылки на глобальная конечная точка vm с именем email.orders.in, а не event.queue, как вы указали. Обратите внимание, что основной поток относится к email.orders.in, а упомянутые потоковые процессы-заказы имеют входящую конечную точку vm, также ссылающуюся на email.orders.in – BreenDeen

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