@Test public void invokeSubFlow() throws Exception { MessageProcessor mp = (MessageProcessor) muleContext.getRegistry() .lookupObject("subflow_2"); FlowConstruct parentFlow = muleContext.getRegistry().lookupFlowConstruct("main_flow"); ((FlowConstructAware) mp).setFlowConstruct(muleContext.getRegistry() .lookupFlowConstruct("subflow_2")); Lifecycle lc = (Lifecycle) mp; lc.initialise(); lc.start(); MuleMessage muleMessage = new DefaultMuleMessage("test", muleContext); MuleEvent event = new DefaultMuleEvent(muleMessage, MessageExchangePattern.REQUEST_RESPONSE, new DefaultMuleSession(parentFlow,muleContext)); mp.process(event); }