如何以最小的依赖性启动Mule 3嵌入式?

时间:2012-02-06 13:21:19

标签: java mule

我希望以最小的外部依赖性(没有弹簧等)开始嵌入mule 3。任何有关如何操作的提示将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:8)

以下示例使用入站VM端点和字符串appender转换器创建流。我相信它应该让你开始。

    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();