В следующем примере создается поток с конечной точкой входящего VM и трансформатором строки. Я верю, что тебе нужно начать.
MuleContext context = new DefaultMuleContextFactory().createMuleContext();
MuleRegistry registry = context.getRegistry();
EndpointBuilder testEndpointBuilder = new EndpointURIEndpointBuilder("vm://testFlow.in",
context);
testEndpointBuilder.setExchangePattern(MessageExchangePattern.REQUEST_RESPONSE);
registry.registerEndpointBuilder("testFlow.in", testEndpointBuilder);
InboundEndpoint vmInboundEndpoint = testEndpointBuilder.buildInboundEndpoint();
registry.registerEndpoint(vmInboundEndpoint);
StringAppendTransformer stringAppendTransformer = new StringAppendTransformer(" world");
stringAppendTransformer.setMuleContext(context);
Flow testFlow = new Flow("testFlow", context);
testFlow.setMessageSource(vmInboundEndpoint);
testFlow.setMessageProcessors(Arrays.asList((MessageProcessor) stringAppendTransformer));
registry.registerFlowConstruct(testFlow);
context.start();
MuleClient muleClient = new MuleClient(context);
MuleMessage response = muleClient.send("vm://testFlow.in", "hello", null);
Validate.isTrue(response.getPayloadAsString().equals("hello world"));
muleClient.dispose();
context.stop();
Привет, Дэвид, большое вам спасибо. Я думаю, нам нужен registry.initialise(); после context.getRegistry() - mule жалуется на отсутствие фазы жизни в противном случае. Работает очень хорошо! Необходимыми зависимостями являются: commons-beanutils, commons-collections, commons-io, commons-lang, commons-logging, commons-pool, dom4j, geronimo-j2ee-connector, jaxen, jug, который наряду с mule-embedded равен 5.6M - неплохо. – SorinS
Странно, код работает как есть для меня (Mule 3.2.1). –
Теперь это работает и для меня - у меня, должно быть, была какая-то зависимость, которая в какой-то момент вызвала ее. Еще раз спасибо. – SorinS