Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.0-rc1, 1.0-rc2
  • Fix Version/s: 1.0-rc3
  • Component/s: None
  • Labels:
    None
  • Environment:

    Windows 2000, jdk1.4.2_05

  • Configuration:
    Hide

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE mule-configuration PUBLIC "-//Cubis //DTD mule-configuration XML V1.0//EN" "mule-configuration.dtd">

    <mule-configuration id="CollationErrorProperties" version="1.0">

    <connector name="FileConnector" className="org.mule.providers.file.FileConnector">
    <properties>
    <property name="pollingFrequency" value="1000"/>
    <property name="moveToDirectory" value="c:/temp/myfiles/done"/>
    <property name="binaryMode" value="true"/>
    </properties>
    </connector>

    <interceptor-stack name="default">
    <!--
    <interceptor className="org.mule.interceptors.LoggingInterceptor"/>
    <interceptor className="org.mule.interceptors.TimerInterceptor"/>
    -->
    </interceptor-stack>

    <!--
    The Mule model initialises and manages your UMO components
    -->
    <model name="CollationError">
    <!-- This will take confused data in and pass it to the Quote Broker. -->
    <mule-descriptor name="fileReceiverUMO"
    inboundEndpoint="file://c:/temp/myfiles/in?binary=true&moveToDirectory=/temp/myfiles/out"
    outboundEndpoint="vm://distributor.queue"
    implementation="org.mule.components.simple.NullComponent">
    <inbound-router>
    <router className="org.mule.routing.inbound.ForwardingConsumer"/>
    </inbound-router>
    <interceptor className="default"/>
    </mule-descriptor>

    <mule-descriptor name="Distributor"
    inboundEndpoint="vm://distributor.queue"
    implementation="com.foo.QuoteBroker">
    <inbound-router>
    <router className="org.mule.routing.inbound.ForwardingConsumer"/>
    </inbound-router>
    <outbound-router>
    <router className="org.mule.routing.outbound.StaticRecipientList">
    <properties>
    <list name="recipients">
    <entry value="vm://quoteprovider1.queue" />
    <entry value="vm://quoteprovider2.queue" />
    </list>
    </properties>
    </router>
    </outbound-router>
    <interceptor className="default"/>
    </mule-descriptor>

    <!-- This is a quotation system -->
    <mule-descriptor name="QuoteProviderOne"
    inboundEndpoint="vm://quoteprovider1.queue"
    outboundEndpoint="vm://Aggregator.queue"
    implementation="org.mule.components.simple.NullComponent">
    <inbound-router>
    <router className="org.mule.routing.inbound.ForwardingConsumer"/>
    </inbound-router>
    <interceptor className="default"/>
    </mule-descriptor>

    <!-- This is a quotation system -->
    <mule-descriptor name="QuoteProviderTwo"
    inboundEndpoint="vm://quoteprovider2.queue"
    outboundEndpoint="vm://Aggregator.queue"
    implementation="org.mule.components.simple.NullComponent">
    <inbound-router>
    <router className="org.mule.routing.inbound.ForwardingConsumer"/>
    </inbound-router>
    <interceptor className="default"/>
    </mule-descriptor>

    <mule-descriptor name="QuoteAggregator"
    implementation="com.foo.TestAggregator">

    <inbound-router>
    <endpoint address="vm://Aggregator.queue"/>
    <router className="com.foo.QuoteAggregator" />
    </inbound-router>

    <interceptor className="default"/>
    </mule-descriptor>

    </model>

    </mule-configuration>

    Show
    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mule-configuration PUBLIC "-//Cubis //DTD mule-configuration XML V1.0//EN" "mule-configuration.dtd"> <mule-configuration id="CollationErrorProperties" version="1.0"> <connector name="FileConnector" className="org.mule.providers.file.FileConnector"> <properties> <property name="pollingFrequency" value="1000"/> <property name="moveToDirectory" value="c:/temp/myfiles/done"/> <property name="binaryMode" value="true"/> </properties> </connector> <interceptor-stack name="default"> <!-- <interceptor className="org.mule.interceptors.LoggingInterceptor"/> <interceptor className="org.mule.interceptors.TimerInterceptor"/> --> </interceptor-stack> <!-- The Mule model initialises and manages your UMO components --> <model name="CollationError"> <!-- This will take confused data in and pass it to the Quote Broker. --> <mule-descriptor name="fileReceiverUMO" inboundEndpoint="file://c:/temp/myfiles/in?binary=true&moveToDirectory=/temp/myfiles/out" outboundEndpoint="vm://distributor.queue" implementation="org.mule.components.simple.NullComponent"> <inbound-router> <router className="org.mule.routing.inbound.ForwardingConsumer"/> </inbound-router> <interceptor className="default"/> </mule-descriptor> <mule-descriptor name="Distributor" inboundEndpoint="vm://distributor.queue" implementation="com.foo.QuoteBroker"> <inbound-router> <router className="org.mule.routing.inbound.ForwardingConsumer"/> </inbound-router> <outbound-router> <router className="org.mule.routing.outbound.StaticRecipientList"> <properties> <list name="recipients"> <entry value="vm://quoteprovider1.queue" /> <entry value="vm://quoteprovider2.queue" /> </list> </properties> </router> </outbound-router> <interceptor className="default"/> </mule-descriptor> <!-- This is a quotation system --> <mule-descriptor name="QuoteProviderOne" inboundEndpoint="vm://quoteprovider1.queue" outboundEndpoint="vm://Aggregator.queue" implementation="org.mule.components.simple.NullComponent"> <inbound-router> <router className="org.mule.routing.inbound.ForwardingConsumer"/> </inbound-router> <interceptor className="default"/> </mule-descriptor> <!-- This is a quotation system --> <mule-descriptor name="QuoteProviderTwo" inboundEndpoint="vm://quoteprovider2.queue" outboundEndpoint="vm://Aggregator.queue" implementation="org.mule.components.simple.NullComponent"> <inbound-router> <router className="org.mule.routing.inbound.ForwardingConsumer"/> </inbound-router> <interceptor className="default"/> </mule-descriptor> <mule-descriptor name="QuoteAggregator" implementation="com.foo.TestAggregator"> <inbound-router> <endpoint address="vm://Aggregator.queue"/> <router className="com.foo.QuoteAggregator" /> </inbound-router> <interceptor className="default"/> </mule-descriptor> </model> </mule-configuration>
  • Log Output:
    Hide

    **********************************************************************
    * Mule - Universal Message Objects version 1.0-rc2 *
    * Cubis Limited *
    * For help or more information go to http://www.muleumo.org *
    * *
    * Server started: Thu Feb 03 10:38:46 GMT 2005 *
    * JDK: 1.4.2_05 (mixed mode) *
    * *
    * Agents Running: *
    * Mule Admin: accepting connections on tcp://localhost:60504 *
    **********************************************************************
    Mule Server initialized.
     INFO [Thread-0] (ForwardingConsumer.java:46) - Forwarding event directly to: vm://distributor.queue
    Quote broker
     INFO [_vmConnector#15138573.1] (ForwardingConsumer.java:46) - Forwarding event directly to: vm://Aggregator.queue
     INFO [_vmConnector#15138573.1] (ForwardingConsumer.java:46) - Forwarding event directly to: vm://Aggregator.queue
     INFO [_vmConnector#15138573.1] (CorrelationAggregator.java:45) - Aggregator: Current Event groups = 1
     INFO [_vmConnector#15138573.1] (CorrelationAggregator.java:46) - correlation size is 2. current event group size is 1 f
    or correlation cd9e3e27-75cf-11d9-8fd8-e5bd5c0734bf
     INFO [_vmConnector#15138573.2] (CorrelationAggregator.java:45) - Aggregator: Current Event groups = 1
     INFO [_vmConnector#15138573.2] (CorrelationAggregator.java:46) - correlation size is 2. current event group size is 2 f
    or correlation cd9e3e27-75cf-11d9-8fd8-e5bd5c0734bf
    Aggregating events
    Collated message:
    Start of collated message
    this is dummy quote data

    this is dummy quote data

    End of collated message

    Component Received:
    this is dummy quote data
    Show
    ********************************************************************** * Mule - Universal Message Objects version 1.0-rc2 * * Cubis Limited * * For help or more information go to http://www.muleumo.org * * * * Server started: Thu Feb 03 10:38:46 GMT 2005 * * JDK: 1.4.2_05 (mixed mode) * * * * Agents Running: * * Mule Admin: accepting connections on tcp://localhost:60504 * ********************************************************************** Mule Server initialized.  INFO [Thread-0] (ForwardingConsumer.java:46) - Forwarding event directly to: vm://distributor.queue Quote broker  INFO [_vmConnector#15138573.1] (ForwardingConsumer.java:46) - Forwarding event directly to: vm://Aggregator.queue  INFO [_vmConnector#15138573.1] (ForwardingConsumer.java:46) - Forwarding event directly to: vm://Aggregator.queue  INFO [_vmConnector#15138573.1] (CorrelationAggregator.java:45) - Aggregator: Current Event groups = 1  INFO [_vmConnector#15138573.1] (CorrelationAggregator.java:46) - correlation size is 2. current event group size is 1 f or correlation cd9e3e27-75cf-11d9-8fd8-e5bd5c0734bf  INFO [_vmConnector#15138573.2] (CorrelationAggregator.java:45) - Aggregator: Current Event groups = 1  INFO [_vmConnector#15138573.2] (CorrelationAggregator.java:46) - correlation size is 2. current event group size is 2 f or correlation cd9e3e27-75cf-11d9-8fd8-e5bd5c0734bf Aggregating events Collated message: Start of collated message this is dummy quote data this is dummy quote data End of collated message Component Received: this is dummy quote data
  • Similar Issues:
    None

Description

With the configuration provided, a string object is passed to two different components using a RecipientList router. When these messages are collated using a subclass of CorrelationAggregator, the second message is passed through to the component not the collated message generated by the aggregator.

Activity

Hide
Ross Mason added a comment -

see comments for MULE-145

Show
Ross Mason added a comment - see comments for MULE-145

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: