最低限の依存関係でMule 3を組み込むにはどうすればよいですか?

私は最低限の外部依存関係(春などはありません)を埋め込んだmule 3を開始したいと考えています。それを行う方法のヒントは非常に高く評価されます。ありがとうございました。

3

1 答え

次の例では、インバウンド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();
8
追加された
こんにちはDavid、ありがとうございました。私はregistry.initialise()が必要だと思います。 after context.getRegistry() - それ以外の場合は、ラブがライフ・フェーズを欠いていると文句を言います。非常にうまくいきます!必要な依存関係は次のとおりです:commons-beanutils、commons-collections、commons-io、commons-lan‌ g、commons-logging、co‌ mmons-pool、dom4j、ger‌ onimo-j2ee-connector‌、jaxen、ジュールは、ミュールが埋め込まれているのと並んで5.6Mに相当します。悪くはありません。
追加された 著者 SorinS,
それは今でも私のために働いています - それはそれを引き起こしたある時点で依存性が欠けていたに違いありません。再度、感謝します。
追加された 著者 SorinS,
奇妙なことに、コードは私のためにそのまま動作します(Mule 3.2.1)。
追加された 著者 David Dossot,