You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by sachin2008 <es...@gmail.com> on 2008/02/20 06:37:40 UTC

Reg:Aggregator Pattern

Hi,

I am having a scenario:

HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)

My requirement is:

In JSR, we need incorporate the multi threading logic for getting the data
from different data sources and by using the aggregator pattern we need to
aggregate the xml data coming from different datasources and send the
response back to the HTTP(BC).

Can anyone please tell me how to use the aggregator pattern in this regard.

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Sorry for the Delayed Reply....

I have successfully overcome all the issues and able to aggregate the
messages through Aggregator.

Thanks for your support gnodet..

Regards,
Praveen


sachin2008 wrote:
> 
> Thanks for your support gnodet.
>  Now i am able to get the aggregated message after putting this code in
> each component
> 
>   if (exchange.getStatus() == ExchangeStatus.DONE) {
>             return;
>         }
> 
> After sending the inonly message to the aggregator i have set the status
> to DONE. 
>  exchange.setStatus(ExchangeStatus.DONE);
> 
> But for the first request i am not getting any aggregated message in the
> queue but in the trace component i am able to view the aggregated message
> and for the remaining requests i am getting the messages in the queue
> without any exceptions.
> 
> Can you please tell me the reason for this.
> 
> 
> gnodet wrote:
>> 
>> The main reasons for your problems is that your lightweight components
>> do not correctly
>> handle the exchanges.
>> First, i would encourage you to use servicemix-bean instead, because
>> servicemix-lwcontainer
>> is deprecated.
>> Second, when dealing with InOnly exchanges, the exchange will come
>> back to the endpoint
>> with a DONE status, so you need to ignore them.  Else, as you can see
>> in your log, you end up with
>> more and more messages in the bus, because each component will send
>> two messages instead of
>> one.   Also don't forget to set the DONE status and send back the
>> exchange when your component
>> acts as a provider.
>> 
>> The code of your components should look like:
>> 
>> public void processExchange(MessageExchange exchange) {
>>     if (exchange.getStatus() == ExchagneStatus.DONE) {
>>         // Ignore the exchanges that come back in a done status
>>         // these are the ones we created and sent
>>         return;
>>     }
>>    // we receive an exchange, so create a new exchange, populate it
>>    // and send it, then set the DONE status on
>>    InOnly newExchange = ...
>>    channel.send(newExchange);
>>    exchange.setStatus(ExchangeStatus.DONE);
>>    channel.send(exchange);
>> }
>> 
>> On Wed, Feb 27, 2008 at 5:16 PM, sachin2008 <es...@gmail.com> wrote:
>>>
>>>  I am attaching the log.Can u please look into it
>>>
>>>  http://www.nabble.com/file/p15716668/servicemix.log servicemix.log
>>>
>>>
>>>
>>>  gnodet wrote:
>>>  >
>>>  > It should be set automatically.
>>>  > Could you paste the log at debug level ?
>>>  >
>>>  > On Wed, Feb 27, 2008 at 4:57 PM, sachin2008 <es...@gmail.com>
>>> wrote:
>>>  >>
>>>  >>  Can you please tell me how to set the global
>>>  >>  variable"org.apache.servicemix.correlationId".
>>>  >>
>>>  >>
>>>  >>
>>>  >>  gnodet wrote:
>>>  >>  >
>>>  >>  > If you add the following lines in your components, you should see
>>>  >> them, as
>>>  >>  > the
>>>  >>  > exception happens when aggregating those messages later.
>>>  >>  >
>>>  >>  >    for (Object key : exchange.getPropertyNames()) {
>>>  >>  >      System.out.println(key + ": " +
>>> exchange.getProperty((String)
>>>  >> key));
>>>  >>  >    }
>>>  >>  >
>>>  >>  > If the "org.apache.servicemix.correlationId" is not listed, there
>>> is a
>>>  >>  > problem ...
>>>  >>  >
>>>  >>  > On Wed, Feb 27, 2008 at 3:58 PM, sachin2008
>>> <es...@gmail.com>
>>>  >> wrote:
>>>  >>  >>
>>>  >>  >>  I am not able to trace that one
>>>  >>  >>
>>>  >>  >>  I am getting the same exception continuously. Whether there is
>>> any
>>>  >> way
>>>  >>  >> to
>>>  >>  >>  set that global variable anywhere else.
>>>  >>  >>
>>>  >>  >>
>>>  >>  >>
>>>  >>  > --
>>>  >>  > Cheers,
>>>  >>  > Guillaume Nodet
>>>  >>  > ------------------------
>>>  >>  > Blog: http://gnodet.blogspot.com/
>>>  >>  >
>>>  >>  >
>>>  >>
>>>  >>  --
>>>  >>
>>>  >>
>>>  >> View this message in context:
>>>  >>
>>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716224.html
>>>  >>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>  >>
>>>  >>
>>>  >
>>>  >
>>>  >
>>>  > --
>>>  > Cheers,
>>>  > Guillaume Nodet
>>>  > ------------------------
>>>  > Blog: http://gnodet.blogspot.com/
>>>  >
>>>  >
>>>
>>>  --
>>>  View this message in context:
>>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716668.html
>>>
>>>
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15729237.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Thanks for your support gnodet.
 Now i am able to get the aggregated message after putting this code in each
component

  if (exchange.getStatus() == ExchangeStatus.DONE) {
            return;
        }

After sending the inonly message to the aggregator i have set the status to
DONE. 
 exchange.setStatus(ExchangeStatus.DONE);

But for the first request i am not getting any aggregated message in the
queue but in the trace component i am able to view the aggregated message
and for the remaining requests i am getting the messages in the queue
without any exceptions.

Can you tell me the reason for this.


gnodet wrote:
> 
> The main reasons for your problems is that your lightweight components
> do not correctly
> handle the exchanges.
> First, i would encourage you to use servicemix-bean instead, because
> servicemix-lwcontainer
> is deprecated.
> Second, when dealing with InOnly exchanges, the exchange will come
> back to the endpoint
> with a DONE status, so you need to ignore them.  Else, as you can see
> in your log, you end up with
> more and more messages in the bus, because each component will send
> two messages instead of
> one.   Also don't forget to set the DONE status and send back the
> exchange when your component
> acts as a provider.
> 
> The code of your components should look like:
> 
> public void processExchange(MessageExchange exchange) {
>     if (exchange.getStatus() == ExchagneStatus.DONE) {
>         // Ignore the exchanges that come back in a done status
>         // these are the ones we created and sent
>         return;
>     }
>    // we receive an exchange, so create a new exchange, populate it
>    // and send it, then set the DONE status on
>    InOnly newExchange = ...
>    channel.send(newExchange);
>    exchange.setStatus(ExchangeStatus.DONE);
>    channel.send(exchange);
> }
> 
> On Wed, Feb 27, 2008 at 5:16 PM, sachin2008 <es...@gmail.com> wrote:
>>
>>  I am attaching the log.Can u please look into it
>>
>>  http://www.nabble.com/file/p15716668/servicemix.log servicemix.log
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > It should be set automatically.
>>  > Could you paste the log at debug level ?
>>  >
>>  > On Wed, Feb 27, 2008 at 4:57 PM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  Can you please tell me how to set the global
>>  >>  variable"org.apache.servicemix.correlationId".
>>  >>
>>  >>
>>  >>
>>  >>  gnodet wrote:
>>  >>  >
>>  >>  > If you add the following lines in your components, you should see
>>  >> them, as
>>  >>  > the
>>  >>  > exception happens when aggregating those messages later.
>>  >>  >
>>  >>  >    for (Object key : exchange.getPropertyNames()) {
>>  >>  >      System.out.println(key + ": " + exchange.getProperty((String)
>>  >> key));
>>  >>  >    }
>>  >>  >
>>  >>  > If the "org.apache.servicemix.correlationId" is not listed, there
>> is a
>>  >>  > problem ...
>>  >>  >
>>  >>  > On Wed, Feb 27, 2008 at 3:58 PM, sachin2008 <es...@gmail.com>
>>  >> wrote:
>>  >>  >>
>>  >>  >>  I am not able to trace that one
>>  >>  >>
>>  >>  >>  I am getting the same exception continuously. Whether there is
>> any
>>  >> way
>>  >>  >> to
>>  >>  >>  set that global variable anywhere else.
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>  > --
>>  >>  > Cheers,
>>  >>  > Guillaume Nodet
>>  >>  > ------------------------
>>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >
>>  >>  >
>>  >>
>>  >>  --
>>  >>
>>  >>
>>  >> View this message in context:
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716224.html
>>  >>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716668.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15717550.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
The main reasons for your problems is that your lightweight components
do not correctly
handle the exchanges.
First, i would encourage you to use servicemix-bean instead, because
servicemix-lwcontainer
is deprecated.
Second, when dealing with InOnly exchanges, the exchange will come
back to the endpoint
with a DONE status, so you need to ignore them.  Else, as you can see
in your log, you end up with
more and more messages in the bus, because each component will send
two messages instead of
one.   Also don't forget to set the DONE status and send back the
exchange when your component
acts as a provider.

The code of your components should look like:

public void processExchange(MessageExchange exchange) {
    if (exchange.getStatus() == ExchagneStatus.DONE) {
        // Ignore the exchanges that come back in a done status
        // these are the ones we created and sent
        return;
    }
   // we receive an exchange, so create a new exchange, populate it
   // and send it, then set the DONE status on
   InOnly newExchange = ...
   channel.send(newExchange);
   exchange.setStatus(ExchangeStatus.DONE);
   channel.send(exchange);
}

On Wed, Feb 27, 2008 at 5:16 PM, sachin2008 <es...@gmail.com> wrote:
>
>  I am attaching the log.Can u please look into it
>
>  http://www.nabble.com/file/p15716668/servicemix.log servicemix.log
>
>
>
>  gnodet wrote:
>  >
>  > It should be set automatically.
>  > Could you paste the log at debug level ?
>  >
>  > On Wed, Feb 27, 2008 at 4:57 PM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  Can you please tell me how to set the global
>  >>  variable"org.apache.servicemix.correlationId".
>  >>
>  >>
>  >>
>  >>  gnodet wrote:
>  >>  >
>  >>  > If you add the following lines in your components, you should see
>  >> them, as
>  >>  > the
>  >>  > exception happens when aggregating those messages later.
>  >>  >
>  >>  >    for (Object key : exchange.getPropertyNames()) {
>  >>  >      System.out.println(key + ": " + exchange.getProperty((String)
>  >> key));
>  >>  >    }
>  >>  >
>  >>  > If the "org.apache.servicemix.correlationId" is not listed, there is a
>  >>  > problem ...
>  >>  >
>  >>  > On Wed, Feb 27, 2008 at 3:58 PM, sachin2008 <es...@gmail.com>
>  >> wrote:
>  >>  >>
>  >>  >>  I am not able to trace that one
>  >>  >>
>  >>  >>  I am getting the same exception continuously. Whether there is any
>  >> way
>  >>  >> to
>  >>  >>  set that global variable anywhere else.
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  > --
>  >>  > Cheers,
>  >>  > Guillaume Nodet
>  >>  > ------------------------
>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >
>  >>  >
>  >>
>  >>  --
>  >>
>  >>
>  >> View this message in context:
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716224.html
>  >>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >
>  >
>  >
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716668.html
>
>
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
I am attaching the log.Can u please look into it

http://www.nabble.com/file/p15716668/servicemix.log servicemix.log 

gnodet wrote:
> 
> It should be set automatically.
> Could you paste the log at debug level ?
> 
> On Wed, Feb 27, 2008 at 4:57 PM, sachin2008 <es...@gmail.com> wrote:
>>
>>  Can you please tell me how to set the global
>>  variable"org.apache.servicemix.correlationId".
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > If you add the following lines in your components, you should see
>> them, as
>>  > the
>>  > exception happens when aggregating those messages later.
>>  >
>>  >    for (Object key : exchange.getPropertyNames()) {
>>  >      System.out.println(key + ": " + exchange.getProperty((String)
>> key));
>>  >    }
>>  >
>>  > If the "org.apache.servicemix.correlationId" is not listed, there is a
>>  > problem ...
>>  >
>>  > On Wed, Feb 27, 2008 at 3:58 PM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  I am not able to trace that one
>>  >>
>>  >>  I am getting the same exception continuously. Whether there is any
>> way
>>  >> to
>>  >>  set that global variable anywhere else.
>>  >>
>>  >>
>>  >>
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>
>>
>> View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716224.html
>>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716668.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
It should be set automatically.
Could you paste the log at debug level ?

On Wed, Feb 27, 2008 at 4:57 PM, sachin2008 <es...@gmail.com> wrote:
>
>  Can you please tell me how to set the global
>  variable"org.apache.servicemix.correlationId".
>
>
>
>  gnodet wrote:
>  >
>  > If you add the following lines in your components, you should see them, as
>  > the
>  > exception happens when aggregating those messages later.
>  >
>  >    for (Object key : exchange.getPropertyNames()) {
>  >      System.out.println(key + ": " + exchange.getProperty((String) key));
>  >    }
>  >
>  > If the "org.apache.servicemix.correlationId" is not listed, there is a
>  > problem ...
>  >
>  > On Wed, Feb 27, 2008 at 3:58 PM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  I am not able to trace that one
>  >>
>  >>  I am getting the same exception continuously. Whether there is any way
>  >> to
>  >>  set that global variable anywhere else.
>  >>
>  >>
>  >>
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>
>  --
>
>
> View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716224.html
>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Can you please tell me how to set the global
variable"org.apache.servicemix.correlationId".

gnodet wrote:
> 
> If you add the following lines in your components, you should see them, as
> the
> exception happens when aggregating those messages later.
> 
>    for (Object key : exchange.getPropertyNames()) {
>      System.out.println(key + ": " + exchange.getProperty((String) key));
>    }
> 
> If the "org.apache.servicemix.correlationId" is not listed, there is a
> problem ...
> 
> On Wed, Feb 27, 2008 at 3:58 PM, sachin2008 <es...@gmail.com> wrote:
>>
>>  I am not able to trace that one
>>
>>  I am getting the same exception continuously. Whether there is any way
>> to
>>  set that global variable anywhere else.
>>
>>
>>
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15716224.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
If you add the following lines in your components, you should see them, as the
exception happens when aggregating those messages later.

   for (Object key : exchange.getPropertyNames()) {
     System.out.println(key + ": " + exchange.getProperty((String) key));
   }

If the "org.apache.servicemix.correlationId" is not listed, there is a
problem ...

On Wed, Feb 27, 2008 at 3:58 PM, sachin2008 <es...@gmail.com> wrote:
>
>  I am not able to trace that one
>
>  I am getting the same exception continuously. Whether there is any way to
>  set that global variable anywhere else.
>
>
>
-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
I am not able to trace that one 

I am getting the same exception continuously. Whether there is any way to
set that global variable anywhere else.


gnodet wrote:
> 
> Did you add a trace to check if the property
> "org.apache.servicemix.correlationId"
> was not null ?  Else I would try the solution I first proposed which
> is to set these
> properties in the component which sends these 3 exchanges and only make
> sure
> that these properties are conveyed by the 3 lightweight components.
> 
> On Wed, Feb 27, 2008 at 3:43 PM, sachin2008 <es...@gmail.com> wrote:
>>
>>   I am attching the code for the three components i have used and the
>> xbean of
>>  the eip component.
>>
>>  Can you please look into it.
>>
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > The property is set on the *incoming* exchange, not the one you send.
>>  > Could you paste a bigger snippet of code as I have no way to know
>> which
>>  > variable
>>  > is what ....
>>  >
>>  > On Wed, Feb 27, 2008 at 3:27 PM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  By setting correlation id as below i am getting an exception like:
>>  >>
>>  >>  Could not  retrieve correlation id for incoming exchange.
>>  >>
>>  >>
>>  >>
>>  >>  gnodet wrote:
>>  >>  >
>>  >>  > I must have misunderstood how your code works.
>>  >>  > I thought a given component was creating 3 messages and was
>> sending
>>  >> them.
>>  >>  > If this is not the case, you may be able to use the global
>>  >>  > correlationId which is
>>  >>  > available on the exchange:
>>  >>  >    exhcange.getProperty("org.apache.servicemix.correlationId")
>>  >>  > This property should have the same value for all 3 exchanges and
>>  >> should be
>>  >>  > different for each group.
>>  >>  >    in.setProperty(AbstractSplitter.SPLITTER_CORRID,
>>  >>  >
>>  >>  > exchange.getProperty("org.apache.servicemix.correlationId") );
>>  >>  >
>>  >>  > Another way would be to set the property when you *split* the
>> messages
>>  >>  > instead
>>  >>  > of when you *aggregate* them.  That's what I was referring to, and
>> I
>>  >>  > thought about
>>  >>  > using the original exchange id as the correlation id for the 3
>>  >>  > generated exchanges.
>>  >>  >
>>  >>  > On Wed, Feb 27, 2008 at 2:57 PM, sachin2008 <es...@gmail.com>
>>  >> wrote:
>>  >>  >>
>>  >>  >>  As i said earlier i have hardcoded the coded the correlation id
>> as
>>  >>  >>
>>  >>  >>
>>  >>
>> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>>  >>  >> );
>>  >>  >>  in the three components but by tracing the log i found that
>> exchange
>>  >> id
>>  >>  >> for
>>  >>  >>  the three components A,B and C as mentioned in the use case
>> before
>>  >> are
>>  >>  >>  different so i can't aggregate the messages coming from the
>> three
>>  >>  >>  components.
>>  >>  >>  So there is anyother way to set the correlation id.
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>  >>  gnodet wrote:
>>  >>  >>  >
>>  >>  >>  > I don't think these exceptions are related.
>>  >>  >>  > Maybe you end up in a timeout ?
>>  >>  >>  >
>>  >>  >>  > On Wed, Feb 27, 2008 at 11:59 AM, sachin2008
>>  >> <es...@gmail.com>
>>  >>  >> wrote:
>>  >>  >>  >>
>>  >>  >>  >>  I am not able to aggregate the message when i have hardcoded
>> the
>>  >>  >>  >> correlation
>>  >>  >>  >>  id as
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>>  >>  >>  >> );
>>  >>  >>  >>
>>  >>  >>  >>  But i am getting an exception from JMSprovider as :
>>  >>  >>  >>
>>  >>  >>  >>  java.io.EOFException
>>  >>  >>  >>         at
>>  >> java.io.DataInputStream.readInt(DataInputStream.java:358)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>  >>  >>  >>
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  16:18:52,695 | WARN  | ActiveMQ Scheduler |
>> ActiveMQConnection
>>  >>  >> |
>>  >>  >>  >>  he.activemq.ActiveMQConnection 1523 | Async exception with
>> no
>>  >>  >> exception
>>  >>  >>  >>  listener:
>> org.apache.activemq.transport.InactivityIOException:
>>  >>  >> Channel
>>  >>  >>  >> was
>>  >>  >>  >>  inactive for too long.
>>  >>  >>  >>  org.apache.activemq.transport.InactivityIOException: Channel
>> was
>>  >>  >>  >> inactive
>>  >>  >>  >>  for too long.
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>>  >>  >>  >>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>>  >>  >>  >>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>>  >>  >>  >>  javax.jms.JMSException: java.io.EOFException
>>  >>  >>  >>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>>  >>  >>  >>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>>  >>  >>  >>  eronimoConnectionEventListener   87 |
>> connectionErrorOccurred
>>  >> called
>>  >>  >>  >> with
>>  >>  >>  >>  null
>>  >>  >>  >>  javax.jms.JMSException: java.io.EOFException
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>>  >>  >>  >>
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  Caused by: java.io.EOFException
>>  >>  >>  >>         at
>>  >> java.io.DataInputStream.readInt(DataInputStream.java:358)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>  >>  >>  >>         ... 1 more
>>  >>  >>  >>
>>  >>  >>  >>  Can u please tell me how to resolve this issue.
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>  gnodet wrote:
>>  >>  >>  >>  >
>>  >>  >>  >>  > It works, but for each group of messages, you need to
>> generate
>>  >> a
>>  >>  >>  >>  > unique id for the
>>  >>  >>  >>  > SPLITTER_CORRID property.  The easiest way would be to use
>> the
>>  >> id
>>  >>  >>  >>  > of the incoming exchange (which will always be unique).
>>  >>  >>  >>  >
>>  >>  >>  >>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008
>>  >>  >> <es...@gmail.com>
>>  >>  >>  >> wrote:
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  Thanks for your reply..
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  For aggregator how should i set correlationid,index and
>>  >> count.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  In my usecase i  already said that:
>>  >>  >>  >>  >>  I have hardcoded like this......
>>  >>  >>  >>  >>  Component A:
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>>  >> Integer(3));
>>  >>  >>  >>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>>  >> Integer(0));
>>  >>  >>  >>  >>  Component B:
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>>  >> Integer(3));
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>>  >> Integer(1));
>>  >>  >>  >>  >>  Component C:
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>>  >> Integer(3));
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>>  >> Integer(2));
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  Can you please help me in configuring the aggregator
>>  >>  >> properities...
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  gnodet wrote:
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > The aggregator uses three properties: the
>> correlationId
>>  >> (which
>>  >>  >>  >>  >>  > identifies messages related together), the index and
>> the
>>  >>  >> count.
>>  >>  >>  >>  >>  > Each group of messages must have a different
>>  >> correlationId,
>>  >>  >> while
>>  >>  >>  >> all
>>  >>  >>  >>  >>  > the messages in a given group must have the same
>>  >>  >> correlationId.
>>  >>  >>  >> Then,
>>  >>  >>  >>  >>  > inside a group, no two messages can have the same
>> index.
>>  >>  >>  >>  >>  > You need to make sure these rules are followed, or
>> you'll
>>  >> have
>>  >>  >> to
>>  >>  >>  >> hack
>>  >>  >>  >>  >>  > your own aggregation strategy.
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > By checking the log at DEBUG level (or remote
>> debugging
>>  >> the
>>  >>  >>  >>  >>  > aggregator), you should be able to see what message
>> are
>>  >>  >> received,
>>  >>  >>  >>  >>  > hence the cause of the error.
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008
>>  >>  >>  >> <es...@gmail.com>
>>  >>  >>  >>  >> wrote:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  Presently i am able to aggregate the messages
>> through
>>  >>  >>  >> aggregator.
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  But there is a problem.....
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  First of all i will explain my usecase:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  JMSConsumer------>static
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> receipientlist----->lw-container------>aggregator------>JMSProvider
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  I am sending a request from JMSconsumer to static
>>  >> receipient
>>  >>  >>  >> list.
>>  >>  >>  >>  >> from
>>  >>  >>  >>  >>  >>  static receipientlist i am sending three inonly
>> messages
>>  >> to
>>  >>  >>  >>  >>  >> lw-container.In
>>  >>  >>  >>  >>  >>  lw-container i have used three components namely A,B
>> and
>>  >> C.
>>  >>  >> From
>>  >>  >>  >>  >>  >> component
>>  >>  >>  >>  >>  >>  A, i am sending an inonly message to aggregator by
>>  >> setting
>>  >>  >> index
>>  >>  >>  >> as
>>  >>  >>  >>  >>  >> 0,count
>>  >>  >>  >>  >>  >>  as 3 and corelationid as id  and From Component B, 
>> i am
>>  >>  >> sending
>>  >>  >>  >> an
>>  >>  >>  >>  >>  >> inonly
>>  >>  >>  >>  >>  >>  message to aggregator by setting index as 1,count as
>> 3
>>  >> and
>>  >>  >>  >>  >> corelationid
>>  >>  >>  >>  >>  >> as
>>  >>  >>  >>  >>  >>  id and From Component C, i am sending an inonly
>> message
>>  >> to
>>  >>  >>  >>  >> aggregator by
>>  >>  >>  >>  >>  >>  setting index as 2,count as 3 and corelationid as
>> id.I
>>  >> am
>>  >>  >> able
>>  >>  >>  >> to
>>  >>  >>  >>  >> get
>>  >>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  >>  aggregated message from the aggregator to
>> JMSProvider.
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  Problems:
>>  >>  >>  >>  >>  >>  I am getting aggregated message in JMSProvider
>>  >> successfully
>>  >>  >> only
>>  >>  >>  >> for
>>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  >>  first request .
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  But if i have given another request it is giving
>> some
>>  >>  >> exception
>>  >>  >>  >>  >> like:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 0
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >>  >>  >>  >> <ASSN>
>>  >>  >>  >>  >>  >>  <ASSN_T
>>  >>  >>  >>  >>  >> 
>> YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 1
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><MI><PAYL_HDR>
>>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  >>  313955098<
>>  >>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 2
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 0
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 0
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 0
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >>  >>  >>  >> <ASSN>
>>  >>  >>  >>  >>  >>  <ASSN_T
>>  >>  >>  >>  >>  >> 
>> YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 1
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>>  >> processing
>>  >>  >>  >> exchange
>>  >>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>>  >>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><MI><PAYL_HDR>
>>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  >>  313955098<
>>  >>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index
>> 2
>>  >> has
>>  >>  >>  >> already
>>  >>  >>  >>  >> been
>>  >>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >> Can anyone please help me to resolve this issue...
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  Thanks in advanced.
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >> gnodet wrote:
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  > The jsr181 component can be configured with a
>> given
>>  >>  >> instance
>>  >>  >>  >> of
>>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  >>  > class that will be used to process all the
>> incoming
>>  >>  >> exchanges.
>>  >>  >>  >>  >> You
>>  >>  >>  >>  >>  >>  > just need to make sure your code is designed to be
>>  >> used
>>  >>  >> that
>>  >>  >>  >> way:
>>  >>  >>  >>  >> a
>>  >>  >>  >>  >>  >>  > single instance will receive all calls
>> concurrently,
>>  >> as in
>>  >>  >> the
>>  >>  >>  >>  >>  >>  > servlets world.  The servicemix-bean behaves the
>> same
>>  >> way.
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  > Another way would be to implement your own
>> aggregation
>>  >>  >>  >> strategy
>>  >>  >>  >>  >> using
>>  >>  >>  >>  >>  >>  > servicemix-eip or camel.
>>  >>  >>  >>  >>  >>  > Servicemix-eip already provides some aggregation
>> and
>>  >> can
>>  >>  >> be
>>  >>  >>  >>  >> extended
>>  >>  >>  >>  >>  >>  > (but does not use any jaxb marshaling, so it
>> depends
>>  >> if
>>  >>  >> you
>>  >>  >>  >> need
>>  >>  >>  >>  >> it or
>>  >>  >>  >>  >>  >>  > not).  Camel is really flexible and powerful and
>> it
>>  >> may be
>>  >>  >>  >> worth
>>  >>  >>  >>  >> to
>>  >>  >>  >>  >>  >>  > take a look at it.
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008
>>  >>  >>  >> <es...@gmail.com>
>>  >>  >>  >>  >>  >> wrote:
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>  Hi,
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>  I am having a scenario:
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>  HTTP(BC)------->
>>  >>  >>  >>  >> JSR----------->Aggregator---------------->HTTP(BC)
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>  My requirement is:
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>  In JSR, we need incorporate the multi threading
>>  >> logic
>>  >>  >> for
>>  >>  >>  >>  >> getting
>>  >>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  >>  >> data
>>  >>  >>  >>  >>  >>  >>  from different data sources and by using the
>>  >> aggregator
>>  >>  >>  >> pattern
>>  >>  >>  >>  >> we
>>  >>  >>  >>  >>  >> need
>>  >>  >>  >>  >>  >>  >> to
>>  >>  >>  >>  >>  >>  >>  aggregate the xml data coming from different
>>  >> datasources
>>  >>  >> and
>>  >>  >>  >>  >> send
>>  >>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  >>  >>  response back to the HTTP(BC).
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>  Can anyone please tell me how to use the
>> aggregator
>>  >>  >> pattern
>>  >>  >>  >> in
>>  >>  >>  >>  >> this
>>  >>  >>  >>  >>  >>  >> regard.
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>  --
>>  >>  >>  >>  >>  >>  >>  View this message in context:
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  >>  >>  >>  >>  >>  >>  Sent from the ServiceMix - User mailing list
>> archive
>>  >> at
>>  >>  >>  >>  >> Nabble.com.
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  > --
>>  >>  >>  >>  >>  >>  > Cheers,
>>  >>  >>  >>  >>  >>  > Guillaume Nodet
>>  >>  >>  >>  >>  >>  > ------------------------
>>  >>  >>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  --
>>  >>  >>  >>  >>  >>  View this message in context:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >> Sent from the ServiceMix - User mailing list archive
>> at
>>  >>  >>  >> Nabble.com.
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > --
>>  >>  >>  >>  >>  > Cheers,
>>  >>  >>  >>  >>  > Guillaume Nodet
>>  >>  >>  >>  >>  > ------------------------
>>  >>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  --
>>  >>  >>  >>  >>  View this message in context:
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>>  >>  >> Nabble.com.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>  > --
>>  >>  >>  >>  > Cheers,
>>  >>  >>  >>  > Guillaume Nodet
>>  >>  >>  >>  > ------------------------
>>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>
>>  >>  >>  >>  --
>>  >>  >>  >>  View this message in context:
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>>  >> Nabble.com.
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  > --
>>  >>  >>  > Cheers,
>>  >>  >>  > Guillaume Nodet
>>  >>  >>  > ------------------------
>>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>
>>  >>  >>  --
>>  >>  >>  View this message in context:
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15713713.html
>>  >>  >>
>>  >>  >>
>>  >>  >> Sent from the ServiceMix - User mailing list archive at
>> Nabble.com.
>>  >>  >>
>>  >>  >>
>>  >>  >
>>  >>  >
>>  >>  >
>>  >>  > --
>>  >>  > Cheers,
>>  >>  > Guillaume Nodet
>>  >>  > ------------------------
>>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >
>>  >>  >
>>  >>
>>  >>  --
>>  >>  View this message in context:
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714156.html
>>  >>
>>  >>
>>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>  http://www.nabble.com/file/p15714689/ThreadSampleEOS.java
>>  ThreadSampleEOS.java
>>  http://www.nabble.com/file/p15714689/ThreadSampleEWOW.java
>>  ThreadSampleEWOW.java
>>  http://www.nabble.com/file/p15714689/ThreadSampleMI.java
>> ThreadSampleMI.java
>>  http://www.nabble.com/file/p15714689/xbean.xml xbean.xml
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714689.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714993.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
Did you add a trace to check if the property
"org.apache.servicemix.correlationId"
was not null ?  Else I would try the solution I first proposed which
is to set these
properties in the component which sends these 3 exchanges and only make sure
that these properties are conveyed by the 3 lightweight components.

On Wed, Feb 27, 2008 at 3:43 PM, sachin2008 <es...@gmail.com> wrote:
>
>   I am attching the code for the three components i have used and the xbean of
>  the eip component.
>
>  Can you please look into it.
>
>
>
>
>  gnodet wrote:
>  >
>  > The property is set on the *incoming* exchange, not the one you send.
>  > Could you paste a bigger snippet of code as I have no way to know which
>  > variable
>  > is what ....
>  >
>  > On Wed, Feb 27, 2008 at 3:27 PM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  By setting correlation id as below i am getting an exception like:
>  >>
>  >>  Could not  retrieve correlation id for incoming exchange.
>  >>
>  >>
>  >>
>  >>  gnodet wrote:
>  >>  >
>  >>  > I must have misunderstood how your code works.
>  >>  > I thought a given component was creating 3 messages and was sending
>  >> them.
>  >>  > If this is not the case, you may be able to use the global
>  >>  > correlationId which is
>  >>  > available on the exchange:
>  >>  >    exhcange.getProperty("org.apache.servicemix.correlationId")
>  >>  > This property should have the same value for all 3 exchanges and
>  >> should be
>  >>  > different for each group.
>  >>  >    in.setProperty(AbstractSplitter.SPLITTER_CORRID,
>  >>  >
>  >>  > exchange.getProperty("org.apache.servicemix.correlationId") );
>  >>  >
>  >>  > Another way would be to set the property when you *split* the messages
>  >>  > instead
>  >>  > of when you *aggregate* them.  That's what I was referring to, and I
>  >>  > thought about
>  >>  > using the original exchange id as the correlation id for the 3
>  >>  > generated exchanges.
>  >>  >
>  >>  > On Wed, Feb 27, 2008 at 2:57 PM, sachin2008 <es...@gmail.com>
>  >> wrote:
>  >>  >>
>  >>  >>  As i said earlier i have hardcoded the coded the correlation id as
>  >>  >>
>  >>  >>
>  >> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>  >>  >> );
>  >>  >>  in the three components but by tracing the log i found that exchange
>  >> id
>  >>  >> for
>  >>  >>  the three components A,B and C as mentioned in the use case before
>  >> are
>  >>  >>  different so i can't aggregate the messages coming from the three
>  >>  >>  components.
>  >>  >>  So there is anyother way to set the correlation id.
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>  gnodet wrote:
>  >>  >>  >
>  >>  >>  > I don't think these exceptions are related.
>  >>  >>  > Maybe you end up in a timeout ?
>  >>  >>  >
>  >>  >>  > On Wed, Feb 27, 2008 at 11:59 AM, sachin2008
>  >> <es...@gmail.com>
>  >>  >> wrote:
>  >>  >>  >>
>  >>  >>  >>  I am not able to aggregate the message when i have hardcoded the
>  >>  >>  >> correlation
>  >>  >>  >>  id as
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>  >>  >>  >> );
>  >>  >>  >>
>  >>  >>  >>  But i am getting an exception from JMSprovider as :
>  >>  >>  >>
>  >>  >>  >>  java.io.EOFException
>  >>  >>  >>         at
>  >> java.io.DataInputStream.readInt(DataInputStream.java:358)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>  >>  >>  >>
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection
>  >>  >> |
>  >>  >>  >>  he.activemq.ActiveMQConnection 1523 | Async exception with no
>  >>  >> exception
>  >>  >>  >>  listener: org.apache.activemq.transport.InactivityIOException:
>  >>  >> Channel
>  >>  >>  >> was
>  >>  >>  >>  inactive for too long.
>  >>  >>  >>  org.apache.activemq.transport.InactivityIOException: Channel was
>  >>  >>  >> inactive
>  >>  >>  >>  for too long.
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>  >>  >>  >>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>  >>  >>  >>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>  >>  >>  >>  javax.jms.JMSException: java.io.EOFException
>  >>  >>  >>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>  >>  >>  >>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>  >>  >>  >>  eronimoConnectionEventListener   87 | connectionErrorOccurred
>  >> called
>  >>  >>  >> with
>  >>  >>  >>  null
>  >>  >>  >>  javax.jms.JMSException: java.io.EOFException
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>  >>  >>  >>
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  Caused by: java.io.EOFException
>  >>  >>  >>         at
>  >> java.io.DataInputStream.readInt(DataInputStream.java:358)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>  >>  >>  >>         ... 1 more
>  >>  >>  >>
>  >>  >>  >>  Can u please tell me how to resolve this issue.
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>  gnodet wrote:
>  >>  >>  >>  >
>  >>  >>  >>  > It works, but for each group of messages, you need to generate
>  >> a
>  >>  >>  >>  > unique id for the
>  >>  >>  >>  > SPLITTER_CORRID property.  The easiest way would be to use the
>  >> id
>  >>  >>  >>  > of the incoming exchange (which will always be unique).
>  >>  >>  >>  >
>  >>  >>  >>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008
>  >>  >> <es...@gmail.com>
>  >>  >>  >> wrote:
>  >>  >>  >>  >>
>  >>  >>  >>  >>  Thanks for your reply..
>  >>  >>  >>  >>
>  >>  >>  >>  >>  For aggregator how should i set correlationid,index and
>  >> count.
>  >>  >>  >>  >>
>  >>  >>  >>  >>  In my usecase i  already said that:
>  >>  >>  >>  >>  I have hardcoded like this......
>  >>  >>  >>  >>  Component A:
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>  >> Integer(3));
>  >>  >>  >>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>  >> Integer(0));
>  >>  >>  >>  >>  Component B:
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>  >> Integer(3));
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>  >> Integer(1));
>  >>  >>  >>  >>  Component C:
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>  >> Integer(3));
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>  >> Integer(2));
>  >>  >>  >>  >>
>  >>  >>  >>  >>  Can you please help me in configuring the aggregator
>  >>  >> properities...
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>  gnodet wrote:
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > The aggregator uses three properties: the correlationId
>  >> (which
>  >>  >>  >>  >>  > identifies messages related together), the index and the
>  >>  >> count.
>  >>  >>  >>  >>  > Each group of messages must have a different
>  >> correlationId,
>  >>  >> while
>  >>  >>  >> all
>  >>  >>  >>  >>  > the messages in a given group must have the same
>  >>  >> correlationId.
>  >>  >>  >> Then,
>  >>  >>  >>  >>  > inside a group, no two messages can have the same index.
>  >>  >>  >>  >>  > You need to make sure these rules are followed, or you'll
>  >> have
>  >>  >> to
>  >>  >>  >> hack
>  >>  >>  >>  >>  > your own aggregation strategy.
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > By checking the log at DEBUG level (or remote debugging
>  >> the
>  >>  >>  >>  >>  > aggregator), you should be able to see what message are
>  >>  >> received,
>  >>  >>  >>  >>  > hence the cause of the error.
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008
>  >>  >>  >> <es...@gmail.com>
>  >>  >>  >>  >> wrote:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  Presently i am able to aggregate the messages through
>  >>  >>  >> aggregator.
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  But there is a problem.....
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  First of all i will explain my usecase:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  JMSConsumer------>static
>  >>  >>  >>  >>  >>
>  >>  >>  >>
>  >> receipientlist----->lw-container------>aggregator------>JMSProvider
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  I am sending a request from JMSconsumer to static
>  >> receipient
>  >>  >>  >> list.
>  >>  >>  >>  >> from
>  >>  >>  >>  >>  >>  static receipientlist i am sending three inonly messages
>  >> to
>  >>  >>  >>  >>  >> lw-container.In
>  >>  >>  >>  >>  >>  lw-container i have used three components namely A,B and
>  >> C.
>  >>  >> From
>  >>  >>  >>  >>  >> component
>  >>  >>  >>  >>  >>  A, i am sending an inonly message to aggregator by
>  >> setting
>  >>  >> index
>  >>  >>  >> as
>  >>  >>  >>  >>  >> 0,count
>  >>  >>  >>  >>  >>  as 3 and corelationid as id  and From Component B,  i am
>  >>  >> sending
>  >>  >>  >> an
>  >>  >>  >>  >>  >> inonly
>  >>  >>  >>  >>  >>  message to aggregator by setting index as 1,count as 3
>  >> and
>  >>  >>  >>  >> corelationid
>  >>  >>  >>  >>  >> as
>  >>  >>  >>  >>  >>  id and From Component C, i am sending an inonly message
>  >> to
>  >>  >>  >>  >> aggregator by
>  >>  >>  >>  >>  >>  setting index as 2,count as 3 and corelationid as id.I
>  >> am
>  >>  >> able
>  >>  >>  >> to
>  >>  >>  >>  >> get
>  >>  >>  >>  >>  >> the
>  >>  >>  >>  >>  >>  aggregated message from the aggregator to JMSProvider.
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  Problems:
>  >>  >>  >>  >>  >>  I am getting aggregated message in JMSProvider
>  >> successfully
>  >>  >> only
>  >>  >>  >> for
>  >>  >>  >>  >> the
>  >>  >>  >>  >>  >>  first request .
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  But if i have given another request it is giving some
>  >>  >> exception
>  >>  >>  >>  >> like:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >>  >>  >>  >> <ASSN>
>  >>  >>  >>  >>  >>  <ASSN_T
>  >>  >>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><MI><PAYL_HDR>
>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  >>  313955098<
>  >>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >>  >>  >>  >> <ASSN>
>  >>  >>  >>  >>  >>  <ASSN_T
>  >>  >>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>  >> processing
>  >>  >>  >> exchange
>  >>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>  >>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><MI><PAYL_HDR>
>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  >>  313955098<
>  >>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2
>  >> has
>  >>  >>  >> already
>  >>  >>  >>  >> been
>  >>  >>  >>  >>  >>  received
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>  >>         at
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >> Can anyone please help me to resolve this issue...
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  Thanks in advanced.
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >> gnodet wrote:
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  > The jsr181 component can be configured with a given
>  >>  >> instance
>  >>  >>  >> of
>  >>  >>  >>  >> the
>  >>  >>  >>  >>  >>  > class that will be used to process all the incoming
>  >>  >> exchanges.
>  >>  >>  >>  >> You
>  >>  >>  >>  >>  >>  > just need to make sure your code is designed to be
>  >> used
>  >>  >> that
>  >>  >>  >> way:
>  >>  >>  >>  >> a
>  >>  >>  >>  >>  >>  > single instance will receive all calls concurrently,
>  >> as in
>  >>  >> the
>  >>  >>  >>  >>  >>  > servlets world.  The servicemix-bean behaves the same
>  >> way.
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  > Another way would be to implement your own aggregation
>  >>  >>  >> strategy
>  >>  >>  >>  >> using
>  >>  >>  >>  >>  >>  > servicemix-eip or camel.
>  >>  >>  >>  >>  >>  > Servicemix-eip already provides some aggregation and
>  >> can
>  >>  >> be
>  >>  >>  >>  >> extended
>  >>  >>  >>  >>  >>  > (but does not use any jaxb marshaling, so it depends
>  >> if
>  >>  >> you
>  >>  >>  >> need
>  >>  >>  >>  >> it or
>  >>  >>  >>  >>  >>  > not).  Camel is really flexible and powerful and it
>  >> may be
>  >>  >>  >> worth
>  >>  >>  >>  >> to
>  >>  >>  >>  >>  >>  > take a look at it.
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008
>  >>  >>  >> <es...@gmail.com>
>  >>  >>  >>  >>  >> wrote:
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>  Hi,
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>  I am having a scenario:
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>  HTTP(BC)------->
>  >>  >>  >>  >> JSR----------->Aggregator---------------->HTTP(BC)
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>  My requirement is:
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>  In JSR, we need incorporate the multi threading
>  >> logic
>  >>  >> for
>  >>  >>  >>  >> getting
>  >>  >>  >>  >>  >> the
>  >>  >>  >>  >>  >>  >> data
>  >>  >>  >>  >>  >>  >>  from different data sources and by using the
>  >> aggregator
>  >>  >>  >> pattern
>  >>  >>  >>  >> we
>  >>  >>  >>  >>  >> need
>  >>  >>  >>  >>  >>  >> to
>  >>  >>  >>  >>  >>  >>  aggregate the xml data coming from different
>  >> datasources
>  >>  >> and
>  >>  >>  >>  >> send
>  >>  >>  >>  >>  >> the
>  >>  >>  >>  >>  >>  >>  response back to the HTTP(BC).
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>  Can anyone please tell me how to use the aggregator
>  >>  >> pattern
>  >>  >>  >> in
>  >>  >>  >>  >> this
>  >>  >>  >>  >>  >>  >> regard.
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>  --
>  >>  >>  >>  >>  >>  >>  View this message in context:
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>  >>  >>  >>  >>  >>  >>  Sent from the ServiceMix - User mailing list archive
>  >> at
>  >>  >>  >>  >> Nabble.com.
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  > --
>  >>  >>  >>  >>  >>  > Cheers,
>  >>  >>  >>  >>  >>  > Guillaume Nodet
>  >>  >>  >>  >>  >>  > ------------------------
>  >>  >>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  --
>  >>  >>  >>  >>  >>  View this message in context:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>  >>  >>  >> Nabble.com.
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > --
>  >>  >>  >>  >>  > Cheers,
>  >>  >>  >>  >>  > Guillaume Nodet
>  >>  >>  >>  >>  > ------------------------
>  >>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>
>  >>  >>  >>  >>  --
>  >>  >>  >>  >>  View this message in context:
>  >>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>  >>  >> Nabble.com.
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>  > --
>  >>  >>  >>  > Cheers,
>  >>  >>  >>  > Guillaume Nodet
>  >>  >>  >>  > ------------------------
>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>
>  >>  >>  >>  --
>  >>  >>  >>  View this message in context:
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>  >> Nabble.com.
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >
>  >>  >>  >
>  >>  >>  >
>  >>  >>  > --
>  >>  >>  > Cheers,
>  >>  >>  > Guillaume Nodet
>  >>  >>  > ------------------------
>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >
>  >>  >>  >
>  >>  >>
>  >>  >>  --
>  >>  >>  View this message in context:
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15713713.html
>  >>  >>
>  >>  >>
>  >>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>  >>
>  >>  >>
>  >>  >
>  >>  >
>  >>  >
>  >>  > --
>  >>  > Cheers,
>  >>  > Guillaume Nodet
>  >>  > ------------------------
>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >
>  >>  >
>  >>
>  >>  --
>  >>  View this message in context:
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714156.html
>  >>
>  >>
>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >
>  >
>  >
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>  http://www.nabble.com/file/p15714689/ThreadSampleEOS.java
>  ThreadSampleEOS.java
>  http://www.nabble.com/file/p15714689/ThreadSampleEWOW.java
>  ThreadSampleEWOW.java
>  http://www.nabble.com/file/p15714689/ThreadSampleMI.java ThreadSampleMI.java
>  http://www.nabble.com/file/p15714689/xbean.xml xbean.xml
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714689.html
>
>
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
 I am attching the code for the three components i have used and the xbean of
the eip component.

Can you please look into it.


gnodet wrote:
> 
> The property is set on the *incoming* exchange, not the one you send.
> Could you paste a bigger snippet of code as I have no way to know which
> variable
> is what ....
> 
> On Wed, Feb 27, 2008 at 3:27 PM, sachin2008 <es...@gmail.com> wrote:
>>
>>  By setting correlation id as below i am getting an exception like:
>>
>>  Could not  retrieve correlation id for incoming exchange.
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > I must have misunderstood how your code works.
>>  > I thought a given component was creating 3 messages and was sending
>> them.
>>  > If this is not the case, you may be able to use the global
>>  > correlationId which is
>>  > available on the exchange:
>>  >    exhcange.getProperty("org.apache.servicemix.correlationId")
>>  > This property should have the same value for all 3 exchanges and
>> should be
>>  > different for each group.
>>  >    in.setProperty(AbstractSplitter.SPLITTER_CORRID,
>>  >
>>  > exchange.getProperty("org.apache.servicemix.correlationId") );
>>  >
>>  > Another way would be to set the property when you *split* the messages
>>  > instead
>>  > of when you *aggregate* them.  That's what I was referring to, and I
>>  > thought about
>>  > using the original exchange id as the correlation id for the 3
>>  > generated exchanges.
>>  >
>>  > On Wed, Feb 27, 2008 at 2:57 PM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  As i said earlier i have hardcoded the coded the correlation id as
>>  >>
>>  >> 
>> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>>  >> );
>>  >>  in the three components but by tracing the log i found that exchange
>> id
>>  >> for
>>  >>  the three components A,B and C as mentioned in the use case before
>> are
>>  >>  different so i can't aggregate the messages coming from the three
>>  >>  components.
>>  >>  So there is anyother way to set the correlation id.
>>  >>
>>  >>
>>  >>
>>  >>  gnodet wrote:
>>  >>  >
>>  >>  > I don't think these exceptions are related.
>>  >>  > Maybe you end up in a timeout ?
>>  >>  >
>>  >>  > On Wed, Feb 27, 2008 at 11:59 AM, sachin2008
>> <es...@gmail.com>
>>  >> wrote:
>>  >>  >>
>>  >>  >>  I am not able to aggregate the message when i have hardcoded the
>>  >>  >> correlation
>>  >>  >>  id as
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>
>> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>>  >>  >> );
>>  >>  >>
>>  >>  >>  But i am getting an exception from JMSprovider as :
>>  >>  >>
>>  >>  >>  java.io.EOFException
>>  >>  >>         at
>> java.io.DataInputStream.readInt(DataInputStream.java:358)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>  >>  >>
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection
>>  >> |
>>  >>  >>  he.activemq.ActiveMQConnection 1523 | Async exception with no
>>  >> exception
>>  >>  >>  listener: org.apache.activemq.transport.InactivityIOException:
>>  >> Channel
>>  >>  >> was
>>  >>  >>  inactive for too long.
>>  >>  >>  org.apache.activemq.transport.InactivityIOException: Channel was
>>  >>  >> inactive
>>  >>  >>  for too long.
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>  >>  >>
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>>  >>  >>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>>  >>  >>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>>  >>  >>  javax.jms.JMSException: java.io.EOFException
>>  >>  >>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>>  >>  >>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>>  >>  >>  eronimoConnectionEventListener   87 | connectionErrorOccurred
>> called
>>  >>  >> with
>>  >>  >>  null
>>  >>  >>  javax.jms.JMSException: java.io.EOFException
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>>  >>  >>
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  Caused by: java.io.EOFException
>>  >>  >>         at
>> java.io.DataInputStream.readInt(DataInputStream.java:358)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>  >>  >>         at
>>  >>  >>
>>  >>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>  >>  >>         ... 1 more
>>  >>  >>
>>  >>  >>  Can u please tell me how to resolve this issue.
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>  >>  gnodet wrote:
>>  >>  >>  >
>>  >>  >>  > It works, but for each group of messages, you need to generate
>> a
>>  >>  >>  > unique id for the
>>  >>  >>  > SPLITTER_CORRID property.  The easiest way would be to use the
>> id
>>  >>  >>  > of the incoming exchange (which will always be unique).
>>  >>  >>  >
>>  >>  >>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008
>>  >> <es...@gmail.com>
>>  >>  >> wrote:
>>  >>  >>  >>
>>  >>  >>  >>  Thanks for your reply..
>>  >>  >>  >>
>>  >>  >>  >>  For aggregator how should i set correlationid,index and
>> count.
>>  >>  >>  >>
>>  >>  >>  >>  In my usecase i  already said that:
>>  >>  >>  >>  I have hardcoded like this......
>>  >>  >>  >>  Component A:
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>> Integer(3));
>>  >>  >>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>> Integer(0));
>>  >>  >>  >>  Component B:
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>> Integer(3));
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>> Integer(1));
>>  >>  >>  >>  Component C:
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new
>> Integer(3));
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new
>> Integer(2));
>>  >>  >>  >>
>>  >>  >>  >>  Can you please help me in configuring the aggregator
>>  >> properities...
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>  gnodet wrote:
>>  >>  >>  >>  >
>>  >>  >>  >>  > The aggregator uses three properties: the correlationId
>> (which
>>  >>  >>  >>  > identifies messages related together), the index and the
>>  >> count.
>>  >>  >>  >>  > Each group of messages must have a different
>> correlationId,
>>  >> while
>>  >>  >> all
>>  >>  >>  >>  > the messages in a given group must have the same
>>  >> correlationId.
>>  >>  >> Then,
>>  >>  >>  >>  > inside a group, no two messages can have the same index.
>>  >>  >>  >>  > You need to make sure these rules are followed, or you'll
>> have
>>  >> to
>>  >>  >> hack
>>  >>  >>  >>  > your own aggregation strategy.
>>  >>  >>  >>  >
>>  >>  >>  >>  > By checking the log at DEBUG level (or remote debugging
>> the
>>  >>  >>  >>  > aggregator), you should be able to see what message are
>>  >> received,
>>  >>  >>  >>  > hence the cause of the error.
>>  >>  >>  >>  >
>>  >>  >>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008
>>  >>  >> <es...@gmail.com>
>>  >>  >>  >> wrote:
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  Presently i am able to aggregate the messages through
>>  >>  >> aggregator.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  But there is a problem.....
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  First of all i will explain my usecase:
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  JMSConsumer------>static
>>  >>  >>  >>  >>
>>  >>  >>
>> receipientlist----->lw-container------>aggregator------>JMSProvider
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  I am sending a request from JMSconsumer to static
>> receipient
>>  >>  >> list.
>>  >>  >>  >> from
>>  >>  >>  >>  >>  static receipientlist i am sending three inonly messages
>> to
>>  >>  >>  >>  >> lw-container.In
>>  >>  >>  >>  >>  lw-container i have used three components namely A,B and
>> C.
>>  >> From
>>  >>  >>  >>  >> component
>>  >>  >>  >>  >>  A, i am sending an inonly message to aggregator by
>> setting
>>  >> index
>>  >>  >> as
>>  >>  >>  >>  >> 0,count
>>  >>  >>  >>  >>  as 3 and corelationid as id  and From Component B,  i am
>>  >> sending
>>  >>  >> an
>>  >>  >>  >>  >> inonly
>>  >>  >>  >>  >>  message to aggregator by setting index as 1,count as 3
>> and
>>  >>  >>  >> corelationid
>>  >>  >>  >>  >> as
>>  >>  >>  >>  >>  id and From Component C, i am sending an inonly message
>> to
>>  >>  >>  >> aggregator by
>>  >>  >>  >>  >>  setting index as 2,count as 3 and corelationid as id.I
>> am
>>  >> able
>>  >>  >> to
>>  >>  >>  >> get
>>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  aggregated message from the aggregator to JMSProvider.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  Problems:
>>  >>  >>  >>  >>  I am getting aggregated message in JMSProvider
>> successfully
>>  >> only
>>  >>  >> for
>>  >>  >>  >> the
>>  >>  >>  >>  >>  first request .
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  But if i have given another request it is giving some
>>  >> exception
>>  >>  >>  >> like:
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >>  >>  >> <ASSN>
>>  >>  >>  >>  >>  <ASSN_T
>>  >>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><MI><PAYL_HDR>
>>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  313955098<
>>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  313955098
>>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >>  >>  >> <ASSN>
>>  >>  >>  >>  >>  <ASSN_T
>>  >>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error
>> processing
>>  >>  >> exchange
>>  >>  >>  >>  >> InOnly[
>>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>>  >>  >>  >>  >>   status: Active
>>  >>  >>  >>  >>   role: provider
>>  >>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><MI><PAYL_HDR>
>>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  >>  313955098<
>>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  >>  >>  ]
>>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2
>> has
>>  >>  >> already
>>  >>  >>  >> been
>>  >>  >>  >>  >>  received
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  >>  w.java:174)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  >>  ava:176)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  >>  a:134)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>  >>         at
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >> Can anyone please help me to resolve this issue...
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  Thanks in advanced.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >> gnodet wrote:
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > The jsr181 component can be configured with a given
>>  >> instance
>>  >>  >> of
>>  >>  >>  >> the
>>  >>  >>  >>  >>  > class that will be used to process all the incoming
>>  >> exchanges.
>>  >>  >>  >> You
>>  >>  >>  >>  >>  > just need to make sure your code is designed to be
>> used
>>  >> that
>>  >>  >> way:
>>  >>  >>  >> a
>>  >>  >>  >>  >>  > single instance will receive all calls concurrently,
>> as in
>>  >> the
>>  >>  >>  >>  >>  > servlets world.  The servicemix-bean behaves the same
>> way.
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > Another way would be to implement your own aggregation
>>  >>  >> strategy
>>  >>  >>  >> using
>>  >>  >>  >>  >>  > servicemix-eip or camel.
>>  >>  >>  >>  >>  > Servicemix-eip already provides some aggregation and
>> can
>>  >> be
>>  >>  >>  >> extended
>>  >>  >>  >>  >>  > (but does not use any jaxb marshaling, so it depends
>> if
>>  >> you
>>  >>  >> need
>>  >>  >>  >> it or
>>  >>  >>  >>  >>  > not).  Camel is really flexible and powerful and it
>> may be
>>  >>  >> worth
>>  >>  >>  >> to
>>  >>  >>  >>  >>  > take a look at it.
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008
>>  >>  >> <es...@gmail.com>
>>  >>  >>  >>  >> wrote:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  Hi,
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  I am having a scenario:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  HTTP(BC)------->
>>  >>  >>  >> JSR----------->Aggregator---------------->HTTP(BC)
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  My requirement is:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  In JSR, we need incorporate the multi threading
>> logic
>>  >> for
>>  >>  >>  >> getting
>>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  >> data
>>  >>  >>  >>  >>  >>  from different data sources and by using the
>> aggregator
>>  >>  >> pattern
>>  >>  >>  >> we
>>  >>  >>  >>  >> need
>>  >>  >>  >>  >>  >> to
>>  >>  >>  >>  >>  >>  aggregate the xml data coming from different
>> datasources
>>  >> and
>>  >>  >>  >> send
>>  >>  >>  >>  >> the
>>  >>  >>  >>  >>  >>  response back to the HTTP(BC).
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  Can anyone please tell me how to use the aggregator
>>  >> pattern
>>  >>  >> in
>>  >>  >>  >> this
>>  >>  >>  >>  >>  >> regard.
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  --
>>  >>  >>  >>  >>  >>  View this message in context:
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  >>  >>  >>  >>  >>  Sent from the ServiceMix - User mailing list archive
>> at
>>  >>  >>  >> Nabble.com.
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  > --
>>  >>  >>  >>  >>  > Cheers,
>>  >>  >>  >>  >>  > Guillaume Nodet
>>  >>  >>  >>  >>  > ------------------------
>>  >>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  --
>>  >>  >>  >>  >>  View this message in context:
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>>  >>  >> Nabble.com.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>  > --
>>  >>  >>  >>  > Cheers,
>>  >>  >>  >>  > Guillaume Nodet
>>  >>  >>  >>  > ------------------------
>>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>
>>  >>  >>  >>  --
>>  >>  >>  >>  View this message in context:
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>>  >> Nabble.com.
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  > --
>>  >>  >>  > Cheers,
>>  >>  >>  > Guillaume Nodet
>>  >>  >>  > ------------------------
>>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>
>>  >>  >>  --
>>  >>  >>  View this message in context:
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>>  >>  >>
>>  >>  >>
>>  >>  >> Sent from the ServiceMix - User mailing list archive at
>> Nabble.com.
>>  >>  >>
>>  >>  >>
>>  >>  >
>>  >>  >
>>  >>  >
>>  >>  > --
>>  >>  > Cheers,
>>  >>  > Guillaume Nodet
>>  >>  > ------------------------
>>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >
>>  >>  >
>>  >>
>>  >>  --
>>  >>  View this message in context:
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15713713.html
>>  >>
>>  >>
>>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714156.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 
http://www.nabble.com/file/p15714689/ThreadSampleEOS.java
ThreadSampleEOS.java 
http://www.nabble.com/file/p15714689/ThreadSampleEWOW.java
ThreadSampleEWOW.java 
http://www.nabble.com/file/p15714689/ThreadSampleMI.java ThreadSampleMI.java 
http://www.nabble.com/file/p15714689/xbean.xml xbean.xml 
-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714689.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
The property is set on the *incoming* exchange, not the one you send.
Could you paste a bigger snippet of code as I have no way to know which variable
is what ....

On Wed, Feb 27, 2008 at 3:27 PM, sachin2008 <es...@gmail.com> wrote:
>
>  By setting correlation id as below i am getting an exception like:
>
>  Could not  retrieve correlation id for incoming exchange.
>
>
>
>  gnodet wrote:
>  >
>  > I must have misunderstood how your code works.
>  > I thought a given component was creating 3 messages and was sending them.
>  > If this is not the case, you may be able to use the global
>  > correlationId which is
>  > available on the exchange:
>  >    exhcange.getProperty("org.apache.servicemix.correlationId")
>  > This property should have the same value for all 3 exchanges and should be
>  > different for each group.
>  >    in.setProperty(AbstractSplitter.SPLITTER_CORRID,
>  >
>  > exchange.getProperty("org.apache.servicemix.correlationId") );
>  >
>  > Another way would be to set the property when you *split* the messages
>  > instead
>  > of when you *aggregate* them.  That's what I was referring to, and I
>  > thought about
>  > using the original exchange id as the correlation id for the 3
>  > generated exchanges.
>  >
>  > On Wed, Feb 27, 2008 at 2:57 PM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  As i said earlier i have hardcoded the coded the correlation id as
>  >>
>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>  >> );
>  >>  in the three components but by tracing the log i found that exchange id
>  >> for
>  >>  the three components A,B and C as mentioned in the use case before are
>  >>  different so i can't aggregate the messages coming from the three
>  >>  components.
>  >>  So there is anyother way to set the correlation id.
>  >>
>  >>
>  >>
>  >>  gnodet wrote:
>  >>  >
>  >>  > I don't think these exceptions are related.
>  >>  > Maybe you end up in a timeout ?
>  >>  >
>  >>  > On Wed, Feb 27, 2008 at 11:59 AM, sachin2008 <es...@gmail.com>
>  >> wrote:
>  >>  >>
>  >>  >>  I am not able to aggregate the message when i have hardcoded the
>  >>  >> correlation
>  >>  >>  id as
>  >>  >>
>  >>  >>
>  >>  >>
>  >> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>  >>  >> );
>  >>  >>
>  >>  >>  But i am getting an exception from JMSprovider as :
>  >>  >>
>  >>  >>  java.io.EOFException
>  >>  >>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>  >>  >>
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection
>  >> |
>  >>  >>  he.activemq.ActiveMQConnection 1523 | Async exception with no
>  >> exception
>  >>  >>  listener: org.apache.activemq.transport.InactivityIOException:
>  >> Channel
>  >>  >> was
>  >>  >>  inactive for too long.
>  >>  >>  org.apache.activemq.transport.InactivityIOException: Channel was
>  >>  >> inactive
>  >>  >>  for too long.
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>  >>  >>
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>  >>  >>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>  >>  >>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>  >>  >>  javax.jms.JMSException: java.io.EOFException
>  >>  >>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>  >>  >>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>  >>  >>  eronimoConnectionEventListener   87 | connectionErrorOccurred called
>  >>  >> with
>  >>  >>  null
>  >>  >>  javax.jms.JMSException: java.io.EOFException
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>  >>  >>
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  Caused by: java.io.EOFException
>  >>  >>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>  >>  >>         at
>  >>  >>
>  >>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>  >>  >>         ... 1 more
>  >>  >>
>  >>  >>  Can u please tell me how to resolve this issue.
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>  gnodet wrote:
>  >>  >>  >
>  >>  >>  > It works, but for each group of messages, you need to generate a
>  >>  >>  > unique id for the
>  >>  >>  > SPLITTER_CORRID property.  The easiest way would be to use the id
>  >>  >>  > of the incoming exchange (which will always be unique).
>  >>  >>  >
>  >>  >>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008
>  >> <es...@gmail.com>
>  >>  >> wrote:
>  >>  >>  >>
>  >>  >>  >>  Thanks for your reply..
>  >>  >>  >>
>  >>  >>  >>  For aggregator how should i set correlationid,index and count.
>  >>  >>  >>
>  >>  >>  >>  In my usecase i  already said that:
>  >>  >>  >>  I have hardcoded like this......
>  >>  >>  >>  Component A:
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  >>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
>  >>  >>  >>  Component B:
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
>  >>  >>  >>  Component C:
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));
>  >>  >>  >>
>  >>  >>  >>  Can you please help me in configuring the aggregator
>  >> properities...
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>  gnodet wrote:
>  >>  >>  >>  >
>  >>  >>  >>  > The aggregator uses three properties: the correlationId (which
>  >>  >>  >>  > identifies messages related together), the index and the
>  >> count.
>  >>  >>  >>  > Each group of messages must have a different correlationId,
>  >> while
>  >>  >> all
>  >>  >>  >>  > the messages in a given group must have the same
>  >> correlationId.
>  >>  >> Then,
>  >>  >>  >>  > inside a group, no two messages can have the same index.
>  >>  >>  >>  > You need to make sure these rules are followed, or you'll have
>  >> to
>  >>  >> hack
>  >>  >>  >>  > your own aggregation strategy.
>  >>  >>  >>  >
>  >>  >>  >>  > By checking the log at DEBUG level (or remote debugging the
>  >>  >>  >>  > aggregator), you should be able to see what message are
>  >> received,
>  >>  >>  >>  > hence the cause of the error.
>  >>  >>  >>  >
>  >>  >>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008
>  >>  >> <es...@gmail.com>
>  >>  >>  >> wrote:
>  >>  >>  >>  >>
>  >>  >>  >>  >>  Presently i am able to aggregate the messages through
>  >>  >> aggregator.
>  >>  >>  >>  >>
>  >>  >>  >>  >>  But there is a problem.....
>  >>  >>  >>  >>
>  >>  >>  >>  >>  First of all i will explain my usecase:
>  >>  >>  >>  >>
>  >>  >>  >>  >>  JMSConsumer------>static
>  >>  >>  >>  >>
>  >>  >> receipientlist----->lw-container------>aggregator------>JMSProvider
>  >>  >>  >>  >>
>  >>  >>  >>  >>  I am sending a request from JMSconsumer to static receipient
>  >>  >> list.
>  >>  >>  >> from
>  >>  >>  >>  >>  static receipientlist i am sending three inonly messages to
>  >>  >>  >>  >> lw-container.In
>  >>  >>  >>  >>  lw-container i have used three components namely A,B and C.
>  >> From
>  >>  >>  >>  >> component
>  >>  >>  >>  >>  A, i am sending an inonly message to aggregator by setting
>  >> index
>  >>  >> as
>  >>  >>  >>  >> 0,count
>  >>  >>  >>  >>  as 3 and corelationid as id  and From Component B,  i am
>  >> sending
>  >>  >> an
>  >>  >>  >>  >> inonly
>  >>  >>  >>  >>  message to aggregator by setting index as 1,count as 3 and
>  >>  >>  >> corelationid
>  >>  >>  >>  >> as
>  >>  >>  >>  >>  id and From Component C, i am sending an inonly message to
>  >>  >>  >> aggregator by
>  >>  >>  >>  >>  setting index as 2,count as 3 and corelationid as id.I am
>  >> able
>  >>  >> to
>  >>  >>  >> get
>  >>  >>  >>  >> the
>  >>  >>  >>  >>  aggregated message from the aggregator to JMSProvider.
>  >>  >>  >>  >>
>  >>  >>  >>  >>  Problems:
>  >>  >>  >>  >>  I am getting aggregated message in JMSProvider successfully
>  >> only
>  >>  >> for
>  >>  >>  >> the
>  >>  >>  >>  >>  first request .
>  >>  >>  >>  >>
>  >>  >>  >>  >>  But if i have given another request it is giving some
>  >> exception
>  >>  >>  >> like:
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >>  >>  >> <ASSN>
>  >>  >>  >>  >>  <ASSN_T
>  >>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  313955098<
>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  313955098
>  >>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0"
>  >> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >>  >>  >> <ASSN>
>  >>  >>  >>  >>  <ASSN_T
>  >>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >>  >> exchange
>  >>  >>  >>  >> InOnly[
>  >>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>  >>  >>  >>  >>   status: Active
>  >>  >>  >>  >>   role: provider
>  >>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>  >>  >> <DUNS_NBR>
>  >>  >>  >>  >>  313955098<
>  >>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  >>  >>  ]
>  >>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>  >>  >> already
>  >>  >>  >> been
>  >>  >>  >>  >>  received
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  >>  w.java:174)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  >>  ava:176)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  >>  a:134)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>  >>         at
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >> Can anyone please help me to resolve this issue...
>  >>  >>  >>  >>
>  >>  >>  >>  >>  Thanks in advanced.
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >> gnodet wrote:
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > The jsr181 component can be configured with a given
>  >> instance
>  >>  >> of
>  >>  >>  >> the
>  >>  >>  >>  >>  > class that will be used to process all the incoming
>  >> exchanges.
>  >>  >>  >> You
>  >>  >>  >>  >>  > just need to make sure your code is designed to be used
>  >> that
>  >>  >> way:
>  >>  >>  >> a
>  >>  >>  >>  >>  > single instance will receive all calls concurrently, as in
>  >> the
>  >>  >>  >>  >>  > servlets world.  The servicemix-bean behaves the same way.
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > Another way would be to implement your own aggregation
>  >>  >> strategy
>  >>  >>  >> using
>  >>  >>  >>  >>  > servicemix-eip or camel.
>  >>  >>  >>  >>  > Servicemix-eip already provides some aggregation and can
>  >> be
>  >>  >>  >> extended
>  >>  >>  >>  >>  > (but does not use any jaxb marshaling, so it depends if
>  >> you
>  >>  >> need
>  >>  >>  >> it or
>  >>  >>  >>  >>  > not).  Camel is really flexible and powerful and it may be
>  >>  >> worth
>  >>  >>  >> to
>  >>  >>  >>  >>  > take a look at it.
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008
>  >>  >> <es...@gmail.com>
>  >>  >>  >>  >> wrote:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  Hi,
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  I am having a scenario:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  HTTP(BC)------->
>  >>  >>  >> JSR----------->Aggregator---------------->HTTP(BC)
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  My requirement is:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  In JSR, we need incorporate the multi threading logic
>  >> for
>  >>  >>  >> getting
>  >>  >>  >>  >> the
>  >>  >>  >>  >>  >> data
>  >>  >>  >>  >>  >>  from different data sources and by using the aggregator
>  >>  >> pattern
>  >>  >>  >> we
>  >>  >>  >>  >> need
>  >>  >>  >>  >>  >> to
>  >>  >>  >>  >>  >>  aggregate the xml data coming from different datasources
>  >> and
>  >>  >>  >> send
>  >>  >>  >>  >> the
>  >>  >>  >>  >>  >>  response back to the HTTP(BC).
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  Can anyone please tell me how to use the aggregator
>  >> pattern
>  >>  >> in
>  >>  >>  >> this
>  >>  >>  >>  >>  >> regard.
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  --
>  >>  >>  >>  >>  >>  View this message in context:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>  >>  >>  >>  >>  >>  Sent from the ServiceMix - User mailing list archive at
>  >>  >>  >> Nabble.com.
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > --
>  >>  >>  >>  >>  > Cheers,
>  >>  >>  >>  >>  > Guillaume Nodet
>  >>  >>  >>  >>  > ------------------------
>  >>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>
>  >>  >>  >>  >>  --
>  >>  >>  >>  >>  View this message in context:
>  >>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>  >>  >> Nabble.com.
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>  > --
>  >>  >>  >>  > Cheers,
>  >>  >>  >>  > Guillaume Nodet
>  >>  >>  >>  > ------------------------
>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>
>  >>  >>  >>  --
>  >>  >>  >>  View this message in context:
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>  >> Nabble.com.
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >
>  >>  >>  >
>  >>  >>  >
>  >>  >>  > --
>  >>  >>  > Cheers,
>  >>  >>  > Guillaume Nodet
>  >>  >>  > ------------------------
>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >
>  >>  >>  >
>  >>  >>
>  >>  >>  --
>  >>  >>  View this message in context:
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>  >>  >>
>  >>  >>
>  >>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>  >>
>  >>  >>
>  >>  >
>  >>  >
>  >>  >
>  >>  > --
>  >>  > Cheers,
>  >>  > Guillaume Nodet
>  >>  > ------------------------
>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >
>  >>  >
>  >>
>  >>  --
>  >>  View this message in context:
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15713713.html
>  >>
>  >>
>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >
>  >
>  >
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714156.html
>
>
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
By setting correlation id as below i am getting an exception like:

Could not  retrieve correlation id for incoming exchange.

gnodet wrote:
> 
> I must have misunderstood how your code works.
> I thought a given component was creating 3 messages and was sending them.
> If this is not the case, you may be able to use the global
> correlationId which is
> available on the exchange:
>    exhcange.getProperty("org.apache.servicemix.correlationId")
> This property should have the same value for all 3 exchanges and should be
> different for each group.
>    in.setProperty(AbstractSplitter.SPLITTER_CORRID,
> 
> exchange.getProperty("org.apache.servicemix.correlationId") );
> 
> Another way would be to set the property when you *split* the messages
> instead
> of when you *aggregate* them.  That's what I was referring to, and I
> thought about
> using the original exchange id as the correlation id for the 3
> generated exchanges.
> 
> On Wed, Feb 27, 2008 at 2:57 PM, sachin2008 <es...@gmail.com> wrote:
>>
>>  As i said earlier i have hardcoded the coded the correlation id as
>>
>>  in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>> );
>>  in the three components but by tracing the log i found that exchange id
>> for
>>  the three components A,B and C as mentioned in the use case before are
>>  different so i can't aggregate the messages coming from the three
>>  components.
>>  So there is anyother way to set the correlation id.
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > I don't think these exceptions are related.
>>  > Maybe you end up in a timeout ?
>>  >
>>  > On Wed, Feb 27, 2008 at 11:59 AM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  I am not able to aggregate the message when i have hardcoded the
>>  >> correlation
>>  >>  id as
>>  >>
>>  >>
>>  >>
>> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>>  >> );
>>  >>
>>  >>  But i am getting an exception from JMSprovider as :
>>  >>
>>  >>  java.io.EOFException
>>  >>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>  >>
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection      
>> |
>>  >>  he.activemq.ActiveMQConnection 1523 | Async exception with no
>> exception
>>  >>  listener: org.apache.activemq.transport.InactivityIOException:
>> Channel
>>  >> was
>>  >>  inactive for too long.
>>  >>  org.apache.activemq.transport.InactivityIOException: Channel was
>>  >> inactive
>>  >>  for too long.
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>>  >>         at
>>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>>  >>         at
>>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>>  >>         at
>>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>>  >>         at
>>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>>  >>         at
>>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>>  >>         at
>>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >>
>>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>  >>
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>>  >>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>>  >>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>>  >>  javax.jms.JMSException: java.io.EOFException
>>  >>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>>  >>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>>  >>  eronimoConnectionEventListener   87 | connectionErrorOccurred called
>>  >> with
>>  >>  null
>>  >>  javax.jms.JMSException: java.io.EOFException
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>>  >>
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  Caused by: java.io.EOFException
>>  >>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>  >>         at
>>  >>
>>  >>
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>  >>         ... 1 more
>>  >>
>>  >>  Can u please tell me how to resolve this issue.
>>  >>
>>  >>
>>  >>
>>  >>  gnodet wrote:
>>  >>  >
>>  >>  > It works, but for each group of messages, you need to generate a
>>  >>  > unique id for the
>>  >>  > SPLITTER_CORRID property.  The easiest way would be to use the id
>>  >>  > of the incoming exchange (which will always be unique).
>>  >>  >
>>  >>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008
>> <es...@gmail.com>
>>  >> wrote:
>>  >>  >>
>>  >>  >>  Thanks for your reply..
>>  >>  >>
>>  >>  >>  For aggregator how should i set correlationid,index and count.
>>  >>  >>
>>  >>  >>  In my usecase i  already said that:
>>  >>  >>  I have hardcoded like this......
>>  >>  >>  Component A:
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  >>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
>>  >>  >>  Component B:
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
>>  >>  >>  Component C:
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));
>>  >>  >>
>>  >>  >>  Can you please help me in configuring the aggregator
>> properities...
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>  >>  gnodet wrote:
>>  >>  >>  >
>>  >>  >>  > The aggregator uses three properties: the correlationId (which
>>  >>  >>  > identifies messages related together), the index and the
>> count.
>>  >>  >>  > Each group of messages must have a different correlationId,
>> while
>>  >> all
>>  >>  >>  > the messages in a given group must have the same
>> correlationId.
>>  >> Then,
>>  >>  >>  > inside a group, no two messages can have the same index.
>>  >>  >>  > You need to make sure these rules are followed, or you'll have
>> to
>>  >> hack
>>  >>  >>  > your own aggregation strategy.
>>  >>  >>  >
>>  >>  >>  > By checking the log at DEBUG level (or remote debugging the
>>  >>  >>  > aggregator), you should be able to see what message are
>> received,
>>  >>  >>  > hence the cause of the error.
>>  >>  >>  >
>>  >>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008
>>  >> <es...@gmail.com>
>>  >>  >> wrote:
>>  >>  >>  >>
>>  >>  >>  >>  Presently i am able to aggregate the messages through
>>  >> aggregator.
>>  >>  >>  >>
>>  >>  >>  >>  But there is a problem.....
>>  >>  >>  >>
>>  >>  >>  >>  First of all i will explain my usecase:
>>  >>  >>  >>
>>  >>  >>  >>  JMSConsumer------>static
>>  >>  >>  >>
>>  >> receipientlist----->lw-container------>aggregator------>JMSProvider
>>  >>  >>  >>
>>  >>  >>  >>  I am sending a request from JMSconsumer to static receipient
>>  >> list.
>>  >>  >> from
>>  >>  >>  >>  static receipientlist i am sending three inonly messages to
>>  >>  >>  >> lw-container.In
>>  >>  >>  >>  lw-container i have used three components namely A,B and C.
>> From
>>  >>  >>  >> component
>>  >>  >>  >>  A, i am sending an inonly message to aggregator by setting
>> index
>>  >> as
>>  >>  >>  >> 0,count
>>  >>  >>  >>  as 3 and corelationid as id  and From Component B,  i am
>> sending
>>  >> an
>>  >>  >>  >> inonly
>>  >>  >>  >>  message to aggregator by setting index as 1,count as 3 and
>>  >>  >> corelationid
>>  >>  >>  >> as
>>  >>  >>  >>  id and From Component C, i am sending an inonly message to
>>  >>  >> aggregator by
>>  >>  >>  >>  setting index as 2,count as 3 and corelationid as id.I am
>> able
>>  >> to
>>  >>  >> get
>>  >>  >>  >> the
>>  >>  >>  >>  aggregated message from the aggregator to JMSProvider.
>>  >>  >>  >>
>>  >>  >>  >>  Problems:
>>  >>  >>  >>  I am getting aggregated message in JMSProvider successfully
>> only
>>  >> for
>>  >>  >> the
>>  >>  >>  >>  first request .
>>  >>  >>  >>
>>  >>  >>  >>  But if i have given another request it is giving some
>> exception
>>  >>  >> like:
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  313955098
>>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >>  >> <ASSN>
>>  >>  >>  >>  <ASSN_T
>>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>>  >> <DUNS_NBR>
>>  >>  >>  >>  313955098<
>>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  313955098
>>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  313955098
>>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >>  >> <DUNS_NBR>
>>  >>  >>  >>  313955098
>>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0"
>> encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >>  >> <ASSN>
>>  >>  >>  >>  <ASSN_T
>>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>>  >> exchange
>>  >>  >>  >> InOnly[
>>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>>  >>  >>  >>   status: Active
>>  >>  >>  >>   role: provider
>>  >>  >>  >>   endpoint: aggregate
>>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>>  >> <DUNS_NBR>
>>  >>  >>  >>  313955098<
>>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  >>  ]
>>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>>  >> already
>>  >>  >> been
>>  >>  >>  >>  received
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  >>  gregator.java:213)
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  >>  Aggregator.java:159)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  >>  feCycle.java:489)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  >>  Cycle.java:46)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  >>  w.java:174)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  >>  ava:176)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  >>  a:134)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>  >>         at
>>  >>  >>  >>
>>  >>  >>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >> Can anyone please help me to resolve this issue...
>>  >>  >>  >>
>>  >>  >>  >>  Thanks in advanced.
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >> gnodet wrote:
>>  >>  >>  >>  >
>>  >>  >>  >>  > The jsr181 component can be configured with a given
>> instance
>>  >> of
>>  >>  >> the
>>  >>  >>  >>  > class that will be used to process all the incoming
>> exchanges.
>>  >>  >> You
>>  >>  >>  >>  > just need to make sure your code is designed to be used
>> that
>>  >> way:
>>  >>  >> a
>>  >>  >>  >>  > single instance will receive all calls concurrently, as in
>> the
>>  >>  >>  >>  > servlets world.  The servicemix-bean behaves the same way.
>>  >>  >>  >>  >
>>  >>  >>  >>  > Another way would be to implement your own aggregation
>>  >> strategy
>>  >>  >> using
>>  >>  >>  >>  > servicemix-eip or camel.
>>  >>  >>  >>  > Servicemix-eip already provides some aggregation and can
>> be
>>  >>  >> extended
>>  >>  >>  >>  > (but does not use any jaxb marshaling, so it depends if
>> you
>>  >> need
>>  >>  >> it or
>>  >>  >>  >>  > not).  Camel is really flexible and powerful and it may be
>>  >> worth
>>  >>  >> to
>>  >>  >>  >>  > take a look at it.
>>  >>  >>  >>  >
>>  >>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008
>>  >> <es...@gmail.com>
>>  >>  >>  >> wrote:
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  Hi,
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  I am having a scenario:
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  HTTP(BC)------->
>>  >>  >> JSR----------->Aggregator---------------->HTTP(BC)
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  My requirement is:
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  In JSR, we need incorporate the multi threading logic
>> for
>>  >>  >> getting
>>  >>  >>  >> the
>>  >>  >>  >>  >> data
>>  >>  >>  >>  >>  from different data sources and by using the aggregator
>>  >> pattern
>>  >>  >> we
>>  >>  >>  >> need
>>  >>  >>  >>  >> to
>>  >>  >>  >>  >>  aggregate the xml data coming from different datasources
>> and
>>  >>  >> send
>>  >>  >>  >> the
>>  >>  >>  >>  >>  response back to the HTTP(BC).
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  Can anyone please tell me how to use the aggregator
>> pattern
>>  >> in
>>  >>  >> this
>>  >>  >>  >>  >> regard.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>  --
>>  >>  >>  >>  >>  View this message in context:
>>  >>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  >>  >>  >>  >>  Sent from the ServiceMix - User mailing list archive at
>>  >>  >> Nabble.com.
>>  >>  >>  >>  >>
>>  >>  >>  >>  >>
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>  > --
>>  >>  >>  >>  > Cheers,
>>  >>  >>  >>  > Guillaume Nodet
>>  >>  >>  >>  > ------------------------
>>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >>  >
>>  >>  >>  >>  >
>>  >>  >>  >>
>>  >>  >>  >>  --
>>  >>  >>  >>  View this message in context:
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>>  >> Nabble.com.
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  > --
>>  >>  >>  > Cheers,
>>  >>  >>  > Guillaume Nodet
>>  >>  >>  > ------------------------
>>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>
>>  >>  >>  --
>>  >>  >>  View this message in context:
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>>  >>  >>
>>  >>  >>
>>  >>  >> Sent from the ServiceMix - User mailing list archive at
>> Nabble.com.
>>  >>  >>
>>  >>  >>
>>  >>  >
>>  >>  >
>>  >>  >
>>  >>  > --
>>  >>  > Cheers,
>>  >>  > Guillaume Nodet
>>  >>  > ------------------------
>>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >
>>  >>  >
>>  >>
>>  >>  --
>>  >>  View this message in context:
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>>  >>
>>  >>
>>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15713713.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15714156.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
I must have misunderstood how your code works.
I thought a given component was creating 3 messages and was sending them.
If this is not the case, you may be able to use the global
correlationId which is
available on the exchange:
   exhcange.getProperty("org.apache.servicemix.correlationId")
This property should have the same value for all 3 exchanges and should be
different for each group.
   in.setProperty(AbstractSplitter.SPLITTER_CORRID,

exchange.getProperty("org.apache.servicemix.correlationId") );

Another way would be to set the property when you *split* the messages instead
of when you *aggregate* them.  That's what I was referring to, and I
thought about
using the original exchange id as the correlation id for the 3
generated exchanges.

On Wed, Feb 27, 2008 at 2:57 PM, sachin2008 <es...@gmail.com> wrote:
>
>  As i said earlier i have hardcoded the coded the correlation id as
>
>  in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId() );
>  in the three components but by tracing the log i found that exchange id for
>  the three components A,B and C as mentioned in the use case before are
>  different so i can't aggregate the messages coming from the three
>  components.
>  So there is anyother way to set the correlation id.
>
>
>
>  gnodet wrote:
>  >
>  > I don't think these exceptions are related.
>  > Maybe you end up in a timeout ?
>  >
>  > On Wed, Feb 27, 2008 at 11:59 AM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  I am not able to aggregate the message when i have hardcoded the
>  >> correlation
>  >>  id as
>  >>
>  >>
>  >> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>  >> );
>  >>
>  >>  But i am getting an exception from JMSprovider as :
>  >>
>  >>  java.io.EOFException
>  >>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>  >>         at
>  >>
>  >> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>  >>
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection       |
>  >>  he.activemq.ActiveMQConnection 1523 | Async exception with no exception
>  >>  listener: org.apache.activemq.transport.InactivityIOException: Channel
>  >> was
>  >>  inactive for too long.
>  >>  org.apache.activemq.transport.InactivityIOException: Channel was
>  >> inactive
>  >>  for too long.
>  >>         at
>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>  >>         at
>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>  >>         at
>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>  >>         at
>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>  >>         at
>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>  >>         at
>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>  >>         at
>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>  >>
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>  >>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>  >>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>  >>  javax.jms.JMSException: java.io.EOFException
>  >>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>  >>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>  >>  eronimoConnectionEventListener   87 | connectionErrorOccurred called
>  >> with
>  >>  null
>  >>  javax.jms.JMSException: java.io.EOFException
>  >>         at
>  >>
>  >> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>  >>         at
>  >>
>  >> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>  >>         at
>  >>
>  >> org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>  >>
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  Caused by: java.io.EOFException
>  >>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>  >>         at
>  >>
>  >> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>  >>         at
>  >>
>  >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>  >>         ... 1 more
>  >>
>  >>  Can u please tell me how to resolve this issue.
>  >>
>  >>
>  >>
>  >>  gnodet wrote:
>  >>  >
>  >>  > It works, but for each group of messages, you need to generate a
>  >>  > unique id for the
>  >>  > SPLITTER_CORRID property.  The easiest way would be to use the id
>  >>  > of the incoming exchange (which will always be unique).
>  >>  >
>  >>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008 <es...@gmail.com>
>  >> wrote:
>  >>  >>
>  >>  >>  Thanks for your reply..
>  >>  >>
>  >>  >>  For aggregator how should i set correlationid,index and count.
>  >>  >>
>  >>  >>  In my usecase i  already said that:
>  >>  >>  I have hardcoded like this......
>  >>  >>  Component A:
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
>  >>  >>  Component B:
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
>  >>  >>  Component C:
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));
>  >>  >>
>  >>  >>  Can you please help me in configuring the aggregator properities...
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>  gnodet wrote:
>  >>  >>  >
>  >>  >>  > The aggregator uses three properties: the correlationId (which
>  >>  >>  > identifies messages related together), the index and the count.
>  >>  >>  > Each group of messages must have a different correlationId, while
>  >> all
>  >>  >>  > the messages in a given group must have the same correlationId.
>  >> Then,
>  >>  >>  > inside a group, no two messages can have the same index.
>  >>  >>  > You need to make sure these rules are followed, or you'll have to
>  >> hack
>  >>  >>  > your own aggregation strategy.
>  >>  >>  >
>  >>  >>  > By checking the log at DEBUG level (or remote debugging the
>  >>  >>  > aggregator), you should be able to see what message are received,
>  >>  >>  > hence the cause of the error.
>  >>  >>  >
>  >>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008
>  >> <es...@gmail.com>
>  >>  >> wrote:
>  >>  >>  >>
>  >>  >>  >>  Presently i am able to aggregate the messages through
>  >> aggregator.
>  >>  >>  >>
>  >>  >>  >>  But there is a problem.....
>  >>  >>  >>
>  >>  >>  >>  First of all i will explain my usecase:
>  >>  >>  >>
>  >>  >>  >>  JMSConsumer------>static
>  >>  >>  >>
>  >> receipientlist----->lw-container------>aggregator------>JMSProvider
>  >>  >>  >>
>  >>  >>  >>  I am sending a request from JMSconsumer to static receipient
>  >> list.
>  >>  >> from
>  >>  >>  >>  static receipientlist i am sending three inonly messages to
>  >>  >>  >> lw-container.In
>  >>  >>  >>  lw-container i have used three components namely A,B and C. From
>  >>  >>  >> component
>  >>  >>  >>  A, i am sending an inonly message to aggregator by setting index
>  >> as
>  >>  >>  >> 0,count
>  >>  >>  >>  as 3 and corelationid as id  and From Component B,  i am sending
>  >> an
>  >>  >>  >> inonly
>  >>  >>  >>  message to aggregator by setting index as 1,count as 3 and
>  >>  >> corelationid
>  >>  >>  >> as
>  >>  >>  >>  id and From Component C, i am sending an inonly message to
>  >>  >> aggregator by
>  >>  >>  >>  setting index as 2,count as 3 and corelationid as id.I am able
>  >> to
>  >>  >> get
>  >>  >>  >> the
>  >>  >>  >>  aggregated message from the aggregator to JMSProvider.
>  >>  >>  >>
>  >>  >>  >>  Problems:
>  >>  >>  >>  I am getting aggregated message in JMSProvider successfully only
>  >> for
>  >>  >> the
>  >>  >>  >>  first request .
>  >>  >>  >>
>  >>  >>  >>  But if i have given another request it is giving some exception
>  >>  >> like:
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >> <DUNS_NBR>
>  >>  >>  >>  313955098
>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >>  >> <ASSN>
>  >>  >>  >>  <ASSN_T
>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>  >> <DUNS_NBR>
>  >>  >>  >>  313955098<
>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >> <DUNS_NBR>
>  >>  >>  >>  313955098
>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >> <DUNS_NBR>
>  >>  >>  >>  313955098
>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >>  >> <DUNS_NBR>
>  >>  >>  >>  313955098
>  >>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >>  >> <ASSN>
>  >>  >>  >>  <ASSN_T
>  >>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>  ERROR - EIPComponent                   - Error processing
>  >> exchange
>  >>  >>  >> InOnly[
>  >>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>  >>  >>  >>   status: Active
>  >>  >>  >>   role: provider
>  >>  >>  >>   endpoint: aggregate
>  >>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>  >> <DUNS_NBR>
>  >>  >>  >>  313955098<
>  >>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  >>  ]
>  >>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>  >> already
>  >>  >> been
>  >>  >>  >>  received
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  >>  gregator.java:213)
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  >>  Aggregator.java:159)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  >>  feCycle.java:489)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  >>  Cycle.java:46)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  >>  w.java:174)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  >>  ava:176)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  >>  a:134)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>  >>         at
>  >>  >>  >>
>  >>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >> Can anyone please help me to resolve this issue...
>  >>  >>  >>
>  >>  >>  >>  Thanks in advanced.
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >> gnodet wrote:
>  >>  >>  >>  >
>  >>  >>  >>  > The jsr181 component can be configured with a given instance
>  >> of
>  >>  >> the
>  >>  >>  >>  > class that will be used to process all the incoming exchanges.
>  >>  >> You
>  >>  >>  >>  > just need to make sure your code is designed to be used that
>  >> way:
>  >>  >> a
>  >>  >>  >>  > single instance will receive all calls concurrently, as in the
>  >>  >>  >>  > servlets world.  The servicemix-bean behaves the same way.
>  >>  >>  >>  >
>  >>  >>  >>  > Another way would be to implement your own aggregation
>  >> strategy
>  >>  >> using
>  >>  >>  >>  > servicemix-eip or camel.
>  >>  >>  >>  > Servicemix-eip already provides some aggregation and can be
>  >>  >> extended
>  >>  >>  >>  > (but does not use any jaxb marshaling, so it depends if you
>  >> need
>  >>  >> it or
>  >>  >>  >>  > not).  Camel is really flexible and powerful and it may be
>  >> worth
>  >>  >> to
>  >>  >>  >>  > take a look at it.
>  >>  >>  >>  >
>  >>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008
>  >> <es...@gmail.com>
>  >>  >>  >> wrote:
>  >>  >>  >>  >>
>  >>  >>  >>  >>  Hi,
>  >>  >>  >>  >>
>  >>  >>  >>  >>  I am having a scenario:
>  >>  >>  >>  >>
>  >>  >>  >>  >>  HTTP(BC)------->
>  >>  >> JSR----------->Aggregator---------------->HTTP(BC)
>  >>  >>  >>  >>
>  >>  >>  >>  >>  My requirement is:
>  >>  >>  >>  >>
>  >>  >>  >>  >>  In JSR, we need incorporate the multi threading logic for
>  >>  >> getting
>  >>  >>  >> the
>  >>  >>  >>  >> data
>  >>  >>  >>  >>  from different data sources and by using the aggregator
>  >> pattern
>  >>  >> we
>  >>  >>  >> need
>  >>  >>  >>  >> to
>  >>  >>  >>  >>  aggregate the xml data coming from different datasources and
>  >>  >> send
>  >>  >>  >> the
>  >>  >>  >>  >>  response back to the HTTP(BC).
>  >>  >>  >>  >>
>  >>  >>  >>  >>  Can anyone please tell me how to use the aggregator pattern
>  >> in
>  >>  >> this
>  >>  >>  >>  >> regard.
>  >>  >>  >>  >>
>  >>  >>  >>  >>  --
>  >>  >>  >>  >>  View this message in context:
>  >>  >>  >>  >>
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>  >>  >>  >>  >>  Sent from the ServiceMix - User mailing list archive at
>  >>  >> Nabble.com.
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>  > --
>  >>  >>  >>  > Cheers,
>  >>  >>  >>  > Guillaume Nodet
>  >>  >>  >>  > ------------------------
>  >>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>
>  >>  >>  >>  --
>  >>  >>  >>  View this message in context:
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >> Sent from the ServiceMix - User mailing list archive at
>  >> Nabble.com.
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >
>  >>  >>  >
>  >>  >>  >
>  >>  >>  > --
>  >>  >>  > Cheers,
>  >>  >>  > Guillaume Nodet
>  >>  >>  > ------------------------
>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >
>  >>  >>  >
>  >>  >>
>  >>  >>  --
>  >>  >>  View this message in context:
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>  >>  >>
>  >>  >>
>  >>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>  >>
>  >>  >>
>  >>  >
>  >>  >
>  >>  >
>  >>  > --
>  >>  > Cheers,
>  >>  > Guillaume Nodet
>  >>  > ------------------------
>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >
>  >>  >
>  >>
>  >>  --
>  >>  View this message in context:
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>  >>
>  >>
>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >
>  >
>  >
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15713713.html
>
>
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
As i said earlier i have hardcoded the coded the correlation id as 
 in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId() );
in the three components but by tracing the log i found that exchange id for
the three components A,B and C as mentioned in the use case before are
different so i can't aggregate the messages coming from the three
components.
So there is anyother way to set the correlation id.

gnodet wrote:
> 
> I don't think these exceptions are related.
> Maybe you end up in a timeout ?
> 
> On Wed, Feb 27, 2008 at 11:59 AM, sachin2008 <es...@gmail.com> wrote:
>>
>>  I am not able to aggregate the message when i have hardcoded the
>> correlation
>>  id as
>>
>>  
>> in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId()
>> );
>>
>>  But i am getting an exception from JMSprovider as :
>>
>>  java.io.EOFException
>>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>>         at
>> 
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>         at
>> 
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>         at
>> 
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>
>>         at java.lang.Thread.run(Thread.java:595)
>>  16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection       |
>>  he.activemq.ActiveMQConnection 1523 | Async exception with no exception
>>  listener: org.apache.activemq.transport.InactivityIOException: Channel
>> was
>>  inactive for too long.
>>  org.apache.activemq.transport.InactivityIOException: Channel was
>> inactive
>>  for too long.
>>         at
>> 
>> org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>>         at
>> 
>> org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>>         at
>> 
>> org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>>         at
>> 
>> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>>         at
>> 
>> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>>         at
>> 
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>>         at
>> 
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>>         at
>> 
>> edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>>         at
>> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>         at
>> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>
>>         at java.lang.Thread.run(Thread.java:595)
>>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>>  javax.jms.JMSException: java.io.EOFException
>>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>>  eronimoConnectionEventListener   87 | connectionErrorOccurred called
>> with
>>  null
>>  javax.jms.JMSException: java.io.EOFException
>>         at
>> 
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>>         at
>> 
>> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>>         at
>> 
>> org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>>         at
>> 
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>         at
>> 
>> org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>>         at
>> 
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>         at
>> 
>> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>>         at
>> 
>> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>>         at
>> 
>> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>>         at
>> 
>> org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>>         at
>> 
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>>
>>         at java.lang.Thread.run(Thread.java:595)
>>  Caused by: java.io.EOFException
>>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>>         at
>> 
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>         at
>> 
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>>         at
>> 
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>>         ... 1 more
>>
>>  Can u please tell me how to resolve this issue.
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > It works, but for each group of messages, you need to generate a
>>  > unique id for the
>>  > SPLITTER_CORRID property.  The easiest way would be to use the id
>>  > of the incoming exchange (which will always be unique).
>>  >
>>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  Thanks for your reply..
>>  >>
>>  >>  For aggregator how should i set correlationid,index and count.
>>  >>
>>  >>  In my usecase i  already said that:
>>  >>  I have hardcoded like this......
>>  >>  Component A:
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
>>  >>  Component B:
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
>>  >>  Component C:
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));
>>  >>
>>  >>  Can you please help me in configuring the aggregator properities...
>>  >>
>>  >>
>>  >>
>>  >>
>>  >>  gnodet wrote:
>>  >>  >
>>  >>  > The aggregator uses three properties: the correlationId (which
>>  >>  > identifies messages related together), the index and the count.
>>  >>  > Each group of messages must have a different correlationId, while
>> all
>>  >>  > the messages in a given group must have the same correlationId. 
>> Then,
>>  >>  > inside a group, no two messages can have the same index.
>>  >>  > You need to make sure these rules are followed, or you'll have to
>> hack
>>  >>  > your own aggregation strategy.
>>  >>  >
>>  >>  > By checking the log at DEBUG level (or remote debugging the
>>  >>  > aggregator), you should be able to see what message are received,
>>  >>  > hence the cause of the error.
>>  >>  >
>>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008
>> <es...@gmail.com>
>>  >> wrote:
>>  >>  >>
>>  >>  >>  Presently i am able to aggregate the messages through
>> aggregator.
>>  >>  >>
>>  >>  >>  But there is a problem.....
>>  >>  >>
>>  >>  >>  First of all i will explain my usecase:
>>  >>  >>
>>  >>  >>  JMSConsumer------>static
>>  >>  >> 
>> receipientlist----->lw-container------>aggregator------>JMSProvider
>>  >>  >>
>>  >>  >>  I am sending a request from JMSconsumer to static receipient
>> list.
>>  >> from
>>  >>  >>  static receipientlist i am sending three inonly messages to
>>  >>  >> lw-container.In
>>  >>  >>  lw-container i have used three components namely A,B and C. From
>>  >>  >> component
>>  >>  >>  A, i am sending an inonly message to aggregator by setting index
>> as
>>  >>  >> 0,count
>>  >>  >>  as 3 and corelationid as id  and From Component B,  i am sending
>> an
>>  >>  >> inonly
>>  >>  >>  message to aggregator by setting index as 1,count as 3 and
>>  >> corelationid
>>  >>  >> as
>>  >>  >>  id and From Component C, i am sending an inonly message to
>>  >> aggregator by
>>  >>  >>  setting index as 2,count as 3 and corelationid as id.I am able
>> to
>>  >> get
>>  >>  >> the
>>  >>  >>  aggregated message from the aggregator to JMSProvider.
>>  >>  >>
>>  >>  >>  Problems:
>>  >>  >>  I am getting aggregated message in JMSProvider successfully only
>> for
>>  >> the
>>  >>  >>  first request .
>>  >>  >>
>>  >>  >>  But if i have given another request it is giving some exception
>>  >> like:
>>  >>  >>
>>  >>  >>
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >> <DUNS_NBR>
>>  >>  >>  313955098
>>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >> <ASSN>
>>  >>  >>  <ASSN_T
>>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>> <DUNS_NBR>
>>  >>  >>  313955098<
>>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >> <DUNS_NBR>
>>  >>  >>  313955098
>>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >> <DUNS_NBR>
>>  >>  >>  313955098
>>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>>  >> <DUNS_NBR>
>>  >>  >>  313955098
>>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 0 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>>  >> <ASSN>
>>  >>  >>  <ASSN_T
>>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 1 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>  ERROR - EIPComponent                   - Error processing
>> exchange
>>  >>  >> InOnly[
>>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>>  >>  >>   status: Active
>>  >>  >>   role: provider
>>  >>  >>   endpoint: aggregate
>>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR>
>> <DUNS_NBR>
>>  >>  >>  313955098<
>>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  >>  ]
>>  >>  >>  java.lang.IllegalStateException: Message with index 2 has
>> already
>>  >> been
>>  >>  >>  received
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  >>  gregator.java:213)
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  >>  Aggregator.java:159)
>>  >>  >>
>>  >>  >>
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  >>  feCycle.java:489)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  >>  BaseLifeCycle.java:441)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  >>  Cycle.java:46)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  >>  d(DeliveryChannelImpl.java:593)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  >>  w.java:174)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  >>  ava:176)
>>  >>  >>         at
>>  >>  >>
>>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  >>  a:134)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>  >>         at
>>  >>  >>
>>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  >>
>>  >>  >>
>>  >>  >> Can anyone please help me to resolve this issue...
>>  >>  >>
>>  >>  >>  Thanks in advanced.
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>  >>
>>  >>  >> gnodet wrote:
>>  >>  >>  >
>>  >>  >>  > The jsr181 component can be configured with a given instance
>> of
>>  >> the
>>  >>  >>  > class that will be used to process all the incoming exchanges.
>>  >> You
>>  >>  >>  > just need to make sure your code is designed to be used that
>> way:
>>  >> a
>>  >>  >>  > single instance will receive all calls concurrently, as in the
>>  >>  >>  > servlets world.  The servicemix-bean behaves the same way.
>>  >>  >>  >
>>  >>  >>  > Another way would be to implement your own aggregation
>> strategy
>>  >> using
>>  >>  >>  > servicemix-eip or camel.
>>  >>  >>  > Servicemix-eip already provides some aggregation and can be
>>  >> extended
>>  >>  >>  > (but does not use any jaxb marshaling, so it depends if you
>> need
>>  >> it or
>>  >>  >>  > not).  Camel is really flexible and powerful and it may be
>> worth
>>  >> to
>>  >>  >>  > take a look at it.
>>  >>  >>  >
>>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008
>> <es...@gmail.com>
>>  >>  >> wrote:
>>  >>  >>  >>
>>  >>  >>  >>  Hi,
>>  >>  >>  >>
>>  >>  >>  >>  I am having a scenario:
>>  >>  >>  >>
>>  >>  >>  >>  HTTP(BC)------->
>>  >> JSR----------->Aggregator---------------->HTTP(BC)
>>  >>  >>  >>
>>  >>  >>  >>  My requirement is:
>>  >>  >>  >>
>>  >>  >>  >>  In JSR, we need incorporate the multi threading logic for
>>  >> getting
>>  >>  >> the
>>  >>  >>  >> data
>>  >>  >>  >>  from different data sources and by using the aggregator
>> pattern
>>  >> we
>>  >>  >> need
>>  >>  >>  >> to
>>  >>  >>  >>  aggregate the xml data coming from different datasources and
>>  >> send
>>  >>  >> the
>>  >>  >>  >>  response back to the HTTP(BC).
>>  >>  >>  >>
>>  >>  >>  >>  Can anyone please tell me how to use the aggregator pattern
>> in
>>  >> this
>>  >>  >>  >> regard.
>>  >>  >>  >>
>>  >>  >>  >>  --
>>  >>  >>  >>  View this message in context:
>>  >>  >>  >>
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  >>  >>  >>  Sent from the ServiceMix - User mailing list archive at
>>  >> Nabble.com.
>>  >>  >>  >>
>>  >>  >>  >>
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  > --
>>  >>  >>  > Cheers,
>>  >>  >>  > Guillaume Nodet
>>  >>  >>  > ------------------------
>>  >>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>
>>  >>  >>  --
>>  >>  >>  View this message in context:
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>>  >>  >>
>>  >>  >>
>>  >>  >> Sent from the ServiceMix - User mailing list archive at
>> Nabble.com.
>>  >>  >>
>>  >>  >>
>>  >>  >
>>  >>  >
>>  >>  >
>>  >>  > --
>>  >>  > Cheers,
>>  >>  > Guillaume Nodet
>>  >>  > ------------------------
>>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >
>>  >>  >
>>  >>
>>  >>  --
>>  >>  View this message in context:
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>>  >>
>>  >>
>>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15713713.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
I don't think these exceptions are related.
Maybe you end up in a timeout ?

On Wed, Feb 27, 2008 at 11:59 AM, sachin2008 <es...@gmail.com> wrote:
>
>  I am not able to aggregate the message when i have hardcoded the correlation
>  id as
>
>   in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId() );
>
>  But i am getting an exception from JMSprovider as :
>
>  java.io.EOFException
>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>         at
>  org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>         at
>  org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>         at
>  org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>
>         at java.lang.Thread.run(Thread.java:595)
>  16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection       |
>  he.activemq.ActiveMQConnection 1523 | Async exception with no exception
>  listener: org.apache.activemq.transport.InactivityIOException: Channel was
>  inactive for too long.
>  org.apache.activemq.transport.InactivityIOException: Channel was inactive
>  for too long.
>         at
>  org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
>         at
>  org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
>         at
>  org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>
>         at java.lang.Thread.run(Thread.java:595)
>  16:18:53,273 | WARN  | AcitveMQ Connection Worker:
>  tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
>  q.ra.ActiveMQManagedConnection  407 | Connection failed:
>  javax.jms.JMSException: java.io.EOFException
>  16:18:53,945 | WARN  | AcitveMQ Connection Worker:
>  tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
>  eronimoConnectionEventListener   87 | connectionErrorOccurred called with
>  null
>  javax.jms.JMSException: java.io.EOFException
>         at
>  org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>         at
>  org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
>         at
>  org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
>         at
>  org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>         at
>  org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
>         at
>  org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>         at
>  org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
>         at
>  org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
>         at
>  org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
>         at
>  org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
>         at
>  org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
>
>         at java.lang.Thread.run(Thread.java:595)
>  Caused by: java.io.EOFException
>         at java.io.DataInputStream.readInt(DataInputStream.java:358)
>         at
>  org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>         at
>  org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
>         at
>  org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>         ... 1 more
>
>  Can u please tell me how to resolve this issue.
>
>
>
>  gnodet wrote:
>  >
>  > It works, but for each group of messages, you need to generate a
>  > unique id for the
>  > SPLITTER_CORRID property.  The easiest way would be to use the id
>  > of the incoming exchange (which will always be unique).
>  >
>  > On Wed, Feb 27, 2008 at 11:15 AM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  Thanks for your reply..
>  >>
>  >>  For aggregator how should i set correlationid,index and count.
>  >>
>  >>  In my usecase i  already said that:
>  >>  I have hardcoded like this......
>  >>  Component A:
>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
>  >>  Component B:
>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
>  >>  Component C:
>  >>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  >>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  >>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));
>  >>
>  >>  Can you please help me in configuring the aggregator properities...
>  >>
>  >>
>  >>
>  >>
>  >>  gnodet wrote:
>  >>  >
>  >>  > The aggregator uses three properties: the correlationId (which
>  >>  > identifies messages related together), the index and the count.
>  >>  > Each group of messages must have a different correlationId, while all
>  >>  > the messages in a given group must have the same correlationId.  Then,
>  >>  > inside a group, no two messages can have the same index.
>  >>  > You need to make sure these rules are followed, or you'll have to hack
>  >>  > your own aggregation strategy.
>  >>  >
>  >>  > By checking the log at DEBUG level (or remote debugging the
>  >>  > aggregator), you should be able to see what message are received,
>  >>  > hence the cause of the error.
>  >>  >
>  >>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008 <es...@gmail.com>
>  >> wrote:
>  >>  >>
>  >>  >>  Presently i am able to aggregate the messages through aggregator.
>  >>  >>
>  >>  >>  But there is a problem.....
>  >>  >>
>  >>  >>  First of all i will explain my usecase:
>  >>  >>
>  >>  >>  JMSConsumer------>static
>  >>  >>  receipientlist----->lw-container------>aggregator------>JMSProvider
>  >>  >>
>  >>  >>  I am sending a request from JMSconsumer to static receipient list.
>  >> from
>  >>  >>  static receipientlist i am sending three inonly messages to
>  >>  >> lw-container.In
>  >>  >>  lw-container i have used three components namely A,B and C. From
>  >>  >> component
>  >>  >>  A, i am sending an inonly message to aggregator by setting index as
>  >>  >> 0,count
>  >>  >>  as 3 and corelationid as id  and From Component B,  i am sending an
>  >>  >> inonly
>  >>  >>  message to aggregator by setting index as 1,count as 3 and
>  >> corelationid
>  >>  >> as
>  >>  >>  id and From Component C, i am sending an inonly message to
>  >> aggregator by
>  >>  >>  setting index as 2,count as 3 and corelationid as id.I am able to
>  >> get
>  >>  >> the
>  >>  >>  aggregated message from the aggregator to JMSProvider.
>  >>  >>
>  >>  >>  Problems:
>  >>  >>  I am getting aggregated message in JMSProvider successfully only for
>  >> the
>  >>  >>  first request .
>  >>  >>
>  >>  >>  But if i have given another request it is giving some exception
>  >> like:
>  >>  >>
>  >>  >>
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-12:313
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >> <DUNS_NBR>
>  >>  >>  313955098
>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 0 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-13:286
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >> <ASSN>
>  >>  >>  <ASSN_T
>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 1 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-14:293
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>  >>  >>  313955098<
>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 2 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-12:315
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >> <DUNS_NBR>
>  >>  >>  313955098
>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 0 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-12:317
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >> <DUNS_NBR>
>  >>  >>  313955098
>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 0 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-12:319
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>  >> <DUNS_NBR>
>  >>  >>  313955098
>  >>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 0 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-13:288
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>  >> <ASSN>
>  >>  >>  <ASSN_T
>  >>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 1 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >>  >> InOnly[
>  >>  >>   id: ID:pc007869-2244-1204099875217-14:295
>  >>  >>   status: Active
>  >>  >>   role: provider
>  >>  >>   endpoint: aggregate
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>  >>  >>  313955098<
>  >>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  >>  ]
>  >>  >>  java.lang.IllegalStateException: Message with index 2 has already
>  >> been
>  >>  >>  received
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  >>  gregator.java:213)
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  >>  Aggregator.java:159)
>  >>  >>
>  >>  >>
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  >>  feCycle.java:489)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  >>  BaseLifeCycle.java:441)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  >>  Cycle.java:46)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  >>  d(DeliveryChannelImpl.java:593)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  >>  w.java:174)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  >>  ava:176)
>  >>  >>         at
>  >>  >>
>  >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  >>  a:134)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>  >>         at
>  >>  >>
>  >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  >>
>  >>  >>
>  >>  >> Can anyone please help me to resolve this issue...
>  >>  >>
>  >>  >>  Thanks in advanced.
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >> gnodet wrote:
>  >>  >>  >
>  >>  >>  > The jsr181 component can be configured with a given instance of
>  >> the
>  >>  >>  > class that will be used to process all the incoming exchanges.
>  >> You
>  >>  >>  > just need to make sure your code is designed to be used that way:
>  >> a
>  >>  >>  > single instance will receive all calls concurrently, as in the
>  >>  >>  > servlets world.  The servicemix-bean behaves the same way.
>  >>  >>  >
>  >>  >>  > Another way would be to implement your own aggregation strategy
>  >> using
>  >>  >>  > servicemix-eip or camel.
>  >>  >>  > Servicemix-eip already provides some aggregation and can be
>  >> extended
>  >>  >>  > (but does not use any jaxb marshaling, so it depends if you need
>  >> it or
>  >>  >>  > not).  Camel is really flexible and powerful and it may be worth
>  >> to
>  >>  >>  > take a look at it.
>  >>  >>  >
>  >>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com>
>  >>  >> wrote:
>  >>  >>  >>
>  >>  >>  >>  Hi,
>  >>  >>  >>
>  >>  >>  >>  I am having a scenario:
>  >>  >>  >>
>  >>  >>  >>  HTTP(BC)------->
>  >> JSR----------->Aggregator---------------->HTTP(BC)
>  >>  >>  >>
>  >>  >>  >>  My requirement is:
>  >>  >>  >>
>  >>  >>  >>  In JSR, we need incorporate the multi threading logic for
>  >> getting
>  >>  >> the
>  >>  >>  >> data
>  >>  >>  >>  from different data sources and by using the aggregator pattern
>  >> we
>  >>  >> need
>  >>  >>  >> to
>  >>  >>  >>  aggregate the xml data coming from different datasources and
>  >> send
>  >>  >> the
>  >>  >>  >>  response back to the HTTP(BC).
>  >>  >>  >>
>  >>  >>  >>  Can anyone please tell me how to use the aggregator pattern in
>  >> this
>  >>  >>  >> regard.
>  >>  >>  >>
>  >>  >>  >>  --
>  >>  >>  >>  View this message in context:
>  >>  >>  >>
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>  >>  >>  >>  Sent from the ServiceMix - User mailing list archive at
>  >> Nabble.com.
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >
>  >>  >>  >
>  >>  >>  >
>  >>  >>  > --
>  >>  >>  > Cheers,
>  >>  >>  > Guillaume Nodet
>  >>  >>  > ------------------------
>  >>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >>  >
>  >>  >>  >
>  >>  >>
>  >>  >>  --
>  >>  >>  View this message in context:
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>  >>  >>
>  >>  >>
>  >>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>  >>
>  >>  >>
>  >>  >
>  >>  >
>  >>  >
>  >>  > --
>  >>  > Cheers,
>  >>  > Guillaume Nodet
>  >>  > ------------------------
>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >
>  >>  >
>  >>
>  >>  --
>  >>  View this message in context:
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>  >>
>  >>
>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >
>  >
>  >
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
>
>
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
I am not able to aggregate the message when i have hardcoded the correlation
id as 

 in.setProperty(AbstractSplitter.SPLITTER_CORRID,exchange.getExchangeId() );

But i am getting an exception from JMSprovider as :

java.io.EOFException
	at java.io.DataInputStream.readInt(DataInputStream.java:358)
	at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
	at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
	at java.lang.Thread.run(Thread.java:595)
16:18:52,695 | WARN  | ActiveMQ Scheduler | ActiveMQConnection       |
he.activemq.ActiveMQConnection 1523 | Async exception with no exception
listener: org.apache.activemq.transport.InactivityIOException: Channel was
inactive for too long.
org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too long.
	at
org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
	at
org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
	at
org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
	at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
	at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
	at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
	at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
	at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
	at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
	at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
	at java.lang.Thread.run(Thread.java:595)
16:18:53,273 | WARN  | AcitveMQ Connection Worker:
tcp://localhost/127.0.0.1:61616 | ctiveMQManagedConnection |
q.ra.ActiveMQManagedConnection  407 | Connection failed:
javax.jms.JMSException: java.io.EOFException
16:18:53,945 | WARN  | AcitveMQ Connection Worker:
tcp://localhost/127.0.0.1:61616 | oConnectionEventListener |
eronimoConnectionEventListener   87 | connectionErrorOccurred called with
null
javax.jms.JMSException: java.io.EOFException
	at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
	at
org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1513)
	at
org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1529)
	at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
	at
org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
	at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
	at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
	at
org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
	at
org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
	at
org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.EOFException
	at java.io.DataInputStream.readInt(DataInputStream.java:358)
	at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
	at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
	... 1 more

Can u please tell me how to resolve this issue.

gnodet wrote:
> 
> It works, but for each group of messages, you need to generate a
> unique id for the
> SPLITTER_CORRID property.  The easiest way would be to use the id
> of the incoming exchange (which will always be unique).
> 
> On Wed, Feb 27, 2008 at 11:15 AM, sachin2008 <es...@gmail.com> wrote:
>>
>>  Thanks for your reply..
>>
>>  For aggregator how should i set correlationid,index and count.
>>
>>  In my usecase i  already said that:
>>  I have hardcoded like this......
>>  Component A:
>>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
>>  Component B:
>>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
>>  Component C:
>>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));
>>
>>  Can you please help me in configuring the aggregator properities...
>>
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > The aggregator uses three properties: the correlationId (which
>>  > identifies messages related together), the index and the count.
>>  > Each group of messages must have a different correlationId, while all
>>  > the messages in a given group must have the same correlationId.  Then,
>>  > inside a group, no two messages can have the same index.
>>  > You need to make sure these rules are followed, or you'll have to hack
>>  > your own aggregation strategy.
>>  >
>>  > By checking the log at DEBUG level (or remote debugging the
>>  > aggregator), you should be able to see what message are received,
>>  > hence the cause of the error.
>>  >
>>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  Presently i am able to aggregate the messages through aggregator.
>>  >>
>>  >>  But there is a problem.....
>>  >>
>>  >>  First of all i will explain my usecase:
>>  >>
>>  >>  JMSConsumer------>static
>>  >>  receipientlist----->lw-container------>aggregator------>JMSProvider
>>  >>
>>  >>  I am sending a request from JMSconsumer to static receipient list.
>> from
>>  >>  static receipientlist i am sending three inonly messages to
>>  >> lw-container.In
>>  >>  lw-container i have used three components namely A,B and C. From
>>  >> component
>>  >>  A, i am sending an inonly message to aggregator by setting index as
>>  >> 0,count
>>  >>  as 3 and corelationid as id  and From Component B,  i am sending an
>>  >> inonly
>>  >>  message to aggregator by setting index as 1,count as 3 and
>> corelationid
>>  >> as
>>  >>  id and From Component C, i am sending an inonly message to
>> aggregator by
>>  >>  setting index as 2,count as 3 and corelationid as id.I am able to
>> get
>>  >> the
>>  >>  aggregated message from the aggregator to JMSProvider.
>>  >>
>>  >>  Problems:
>>  >>  I am getting aggregated message in JMSProvider successfully only for
>> the
>>  >>  first request .
>>  >>
>>  >>  But if i have given another request it is giving some exception
>> like:
>>  >>
>>  >>
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-12:313
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>> <DUNS_NBR>
>>  >>  313955098
>>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 0 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-13:286
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>> <ASSN>
>>  >>  <ASSN_T
>>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 1 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-14:293
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>>  >>  313955098<
>>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 2 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-12:315
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>> <DUNS_NBR>
>>  >>  313955098
>>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 0 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-12:317
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>> <DUNS_NBR>
>>  >>  313955098
>>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 0 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-12:319
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR>
>> <DUNS_NBR>
>>  >>  313955098
>>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 0 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-13:288
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK>
>> <ASSN>
>>  >>  <ASSN_T
>>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 1 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>  ERROR - EIPComponent                   - Error processing exchange
>>  >> InOnly[
>>  >>   id: ID:pc007869-2244-1204099875217-14:295
>>  >>   status: Active
>>  >>   role: provider
>>  >>   endpoint: aggregate
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>>  >>  313955098<
>>  >>  /DUNS_NBR></PAYL_HDR></MI>
>>  >>  ]
>>  >>  java.lang.IllegalStateException: Message with index 2 has already
>> been
>>  >>  received
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  >>  gregator.java:213)
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  >>  Aggregator.java:159)
>>  >>
>>  >>
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  >>  feCycle.java:489)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  >>  BaseLifeCycle.java:441)
>>  >>         at
>>  >> 
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  >>  Cycle.java:46)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  >>  d(DeliveryChannelImpl.java:593)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  >>  w.java:174)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  >>  ava:176)
>>  >>         at
>>  >> 
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  >>  a:134)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>>  >>         at
>>  >> 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  >>  ker.run(ThreadPoolExecutor.java:690)
>>  >>         at java.lang.Thread.run(Thread.java:595)
>>  >>
>>  >>
>>  >> Can anyone please help me to resolve this issue...
>>  >>
>>  >>  Thanks in advanced.
>>  >>
>>  >>
>>  >>
>>  >>
>>  >> gnodet wrote:
>>  >>  >
>>  >>  > The jsr181 component can be configured with a given instance of
>> the
>>  >>  > class that will be used to process all the incoming exchanges. 
>> You
>>  >>  > just need to make sure your code is designed to be used that way:
>> a
>>  >>  > single instance will receive all calls concurrently, as in the
>>  >>  > servlets world.  The servicemix-bean behaves the same way.
>>  >>  >
>>  >>  > Another way would be to implement your own aggregation strategy
>> using
>>  >>  > servicemix-eip or camel.
>>  >>  > Servicemix-eip already provides some aggregation and can be
>> extended
>>  >>  > (but does not use any jaxb marshaling, so it depends if you need
>> it or
>>  >>  > not).  Camel is really flexible and powerful and it may be worth
>> to
>>  >>  > take a look at it.
>>  >>  >
>>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com>
>>  >> wrote:
>>  >>  >>
>>  >>  >>  Hi,
>>  >>  >>
>>  >>  >>  I am having a scenario:
>>  >>  >>
>>  >>  >>  HTTP(BC)------->
>> JSR----------->Aggregator---------------->HTTP(BC)
>>  >>  >>
>>  >>  >>  My requirement is:
>>  >>  >>
>>  >>  >>  In JSR, we need incorporate the multi threading logic for
>> getting
>>  >> the
>>  >>  >> data
>>  >>  >>  from different data sources and by using the aggregator pattern
>> we
>>  >> need
>>  >>  >> to
>>  >>  >>  aggregate the xml data coming from different datasources and
>> send
>>  >> the
>>  >>  >>  response back to the HTTP(BC).
>>  >>  >>
>>  >>  >>  Can anyone please tell me how to use the aggregator pattern in
>> this
>>  >>  >> regard.
>>  >>  >>
>>  >>  >>  --
>>  >>  >>  View this message in context:
>>  >>  >>
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  >>  >>  Sent from the ServiceMix - User mailing list archive at
>> Nabble.com.
>>  >>  >>
>>  >>  >>
>>  >>  >
>>  >>  >
>>  >>  >
>>  >>  > --
>>  >>  > Cheers,
>>  >>  > Guillaume Nodet
>>  >>  > ------------------------
>>  >>  > Blog: http://gnodet.blogspot.com/
>>  >>  >
>>  >>  >
>>  >>
>>  >>  --
>>  >>  View this message in context:
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>>  >>
>>  >>
>>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710910.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
It works, but for each group of messages, you need to generate a
unique id for the
SPLITTER_CORRID property.  The easiest way would be to use the id
of the incoming exchange (which will always be unique).

On Wed, Feb 27, 2008 at 11:15 AM, sachin2008 <es...@gmail.com> wrote:
>
>  Thanks for your reply..
>
>  For aggregator how should i set correlationid,index and count.
>
>  In my usecase i  already said that:
>  I have hardcoded like this......
>  Component A:
>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>   in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
>  Component B:
>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
>  Component C:
>  in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
>  in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
>  in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));
>
>  Can you please help me in configuring the aggregator properities...
>
>
>
>
>  gnodet wrote:
>  >
>  > The aggregator uses three properties: the correlationId (which
>  > identifies messages related together), the index and the count.
>  > Each group of messages must have a different correlationId, while all
>  > the messages in a given group must have the same correlationId.  Then,
>  > inside a group, no two messages can have the same index.
>  > You need to make sure these rules are followed, or you'll have to hack
>  > your own aggregation strategy.
>  >
>  > By checking the log at DEBUG level (or remote debugging the
>  > aggregator), you should be able to see what message are received,
>  > hence the cause of the error.
>  >
>  > On Wed, Feb 27, 2008 at 10:23 AM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  Presently i am able to aggregate the messages through aggregator.
>  >>
>  >>  But there is a problem.....
>  >>
>  >>  First of all i will explain my usecase:
>  >>
>  >>  JMSConsumer------>static
>  >>  receipientlist----->lw-container------>aggregator------>JMSProvider
>  >>
>  >>  I am sending a request from JMSconsumer to static receipient list. from
>  >>  static receipientlist i am sending three inonly messages to
>  >> lw-container.In
>  >>  lw-container i have used three components namely A,B and C. From
>  >> component
>  >>  A, i am sending an inonly message to aggregator by setting index as
>  >> 0,count
>  >>  as 3 and corelationid as id  and From Component B,  i am sending an
>  >> inonly
>  >>  message to aggregator by setting index as 1,count as 3 and corelationid
>  >> as
>  >>  id and From Component C, i am sending an inonly message to aggregator by
>  >>  setting index as 2,count as 3 and corelationid as id.I am able to get
>  >> the
>  >>  aggregated message from the aggregator to JMSProvider.
>  >>
>  >>  Problems:
>  >>  I am getting aggregated message in JMSProvider successfully only for the
>  >>  first request .
>  >>
>  >>  But if i have given another request it is giving some exception like:
>  >>
>  >>
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-12:313
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  >>  313955098
>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 0 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-13:286
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
>  >>  <ASSN_T
>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 1 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-14:293
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>  >>  313955098<
>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 2 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-12:315
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  >>  313955098
>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 0 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-12:317
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  >>  313955098
>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 0 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-12:319
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  >>  313955098
>  >>  </DUNS_NBR></PAYL_HDR></EOS>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 0 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-13:288
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
>  >>  <ASSN_T
>  >>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 1 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>  ERROR - EIPComponent                   - Error processing exchange
>  >> InOnly[
>  >>   id: ID:pc007869-2244-1204099875217-14:295
>  >>   status: Active
>  >>   role: provider
>  >>   endpoint: aggregate
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>  >>  313955098<
>  >>  /DUNS_NBR></PAYL_HDR></MI>
>  >>  ]
>  >>  java.lang.IllegalStateException: Message with index 2 has already been
>  >>  received
>  >>         at
>  >>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  >>  gregator.java:213)
>  >>
>  >>         at
>  >>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  >>  Aggregator.java:159)
>  >>
>  >>
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  >>  feCycle.java:489)
>  >>         at
>  >>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  >>  BaseLifeCycle.java:441)
>  >>         at
>  >>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  >>  Cycle.java:46)
>  >>         at
>  >>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  >>  d(DeliveryChannelImpl.java:593)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  >>  w.java:174)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  >>  ava:176)
>  >>         at
>  >>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  >>  a:134)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.runTask(ThreadPoolExecutor.java:665)
>  >>         at
>  >>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  >>  ker.run(ThreadPoolExecutor.java:690)
>  >>         at java.lang.Thread.run(Thread.java:595)
>  >>
>  >>
>  >> Can anyone please help me to resolve this issue...
>  >>
>  >>  Thanks in advanced.
>  >>
>  >>
>  >>
>  >>
>  >> gnodet wrote:
>  >>  >
>  >>  > The jsr181 component can be configured with a given instance of the
>  >>  > class that will be used to process all the incoming exchanges.  You
>  >>  > just need to make sure your code is designed to be used that way: a
>  >>  > single instance will receive all calls concurrently, as in the
>  >>  > servlets world.  The servicemix-bean behaves the same way.
>  >>  >
>  >>  > Another way would be to implement your own aggregation strategy using
>  >>  > servicemix-eip or camel.
>  >>  > Servicemix-eip already provides some aggregation and can be extended
>  >>  > (but does not use any jaxb marshaling, so it depends if you need it or
>  >>  > not).  Camel is really flexible and powerful and it may be worth to
>  >>  > take a look at it.
>  >>  >
>  >>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com>
>  >> wrote:
>  >>  >>
>  >>  >>  Hi,
>  >>  >>
>  >>  >>  I am having a scenario:
>  >>  >>
>  >>  >>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)
>  >>  >>
>  >>  >>  My requirement is:
>  >>  >>
>  >>  >>  In JSR, we need incorporate the multi threading logic for getting
>  >> the
>  >>  >> data
>  >>  >>  from different data sources and by using the aggregator pattern we
>  >> need
>  >>  >> to
>  >>  >>  aggregate the xml data coming from different datasources and send
>  >> the
>  >>  >>  response back to the HTTP(BC).
>  >>  >>
>  >>  >>  Can anyone please tell me how to use the aggregator pattern in this
>  >>  >> regard.
>  >>  >>
>  >>  >>  --
>  >>  >>  View this message in context:
>  >>  >>
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>  >>  >>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>  >>
>  >>  >>
>  >>  >
>  >>  >
>  >>  >
>  >>  > --
>  >>  > Cheers,
>  >>  > Guillaume Nodet
>  >>  > ------------------------
>  >>  > Blog: http://gnodet.blogspot.com/
>  >>  >
>  >>  >
>  >>
>  >>  --
>  >>  View this message in context:
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>  >>
>  >>
>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >
>  >
>  >
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
>
>
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Thanks for your reply..

For aggregator how should i set correlationid,index and count.

In my usecase i  already said that:
I have hardcoded like this......
Component A: 
in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
 in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(0));
Component B:
in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(1));
Component C:
in.setProperty(AbstractSplitter.SPLITTER_COUNT, new Integer(3));
in.setProperty(AbstractSplitter.SPLITTER_CORRID, "id");
in.setProperty(AbstractSplitter.SPLITTER_INDEX, new Integer(2));

Can you please help me in configuring the aggregator properities...


gnodet wrote:
> 
> The aggregator uses three properties: the correlationId (which
> identifies messages related together), the index and the count.
> Each group of messages must have a different correlationId, while all
> the messages in a given group must have the same correlationId.  Then,
> inside a group, no two messages can have the same index.
> You need to make sure these rules are followed, or you'll have to hack
> your own aggregation strategy.
> 
> By checking the log at DEBUG level (or remote debugging the
> aggregator), you should be able to see what message are received,
> hence the cause of the error.
> 
> On Wed, Feb 27, 2008 at 10:23 AM, sachin2008 <es...@gmail.com> wrote:
>>
>>  Presently i am able to aggregate the messages through aggregator.
>>
>>  But there is a problem.....
>>
>>  First of all i will explain my usecase:
>>
>>  JMSConsumer------>static
>>  receipientlist----->lw-container------>aggregator------>JMSProvider
>>
>>  I am sending a request from JMSconsumer to static receipient list. from
>>  static receipientlist i am sending three inonly messages to
>> lw-container.In
>>  lw-container i have used three components namely A,B and C. From
>> component
>>  A, i am sending an inonly message to aggregator by setting index as
>> 0,count
>>  as 3 and corelationid as id  and From Component B,  i am sending an
>> inonly
>>  message to aggregator by setting index as 1,count as 3 and corelationid
>> as
>>  id and From Component C, i am sending an inonly message to aggregator by
>>  setting index as 2,count as 3 and corelationid as id.I am able to get
>> the
>>  aggregated message from the aggregator to JMSProvider.
>>
>>  Problems:
>>  I am getting aggregated message in JMSProvider successfully only for the
>>  first request .
>>
>>  But if i have given another request it is giving some exception like:
>>
>>
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-12:313
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>>  313955098
>>  </DUNS_NBR></PAYL_HDR></EOS>
>>  ]
>>  java.lang.IllegalStateException: Message with index 0 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-13:286
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
>>  <ASSN_T
>>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  ]
>>  java.lang.IllegalStateException: Message with index 1 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-14:293
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>>  313955098<
>>  /DUNS_NBR></PAYL_HDR></MI>
>>  ]
>>  java.lang.IllegalStateException: Message with index 2 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-12:315
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>>  313955098
>>  </DUNS_NBR></PAYL_HDR></EOS>
>>  ]
>>  java.lang.IllegalStateException: Message with index 0 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-12:317
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>>  313955098
>>  </DUNS_NBR></PAYL_HDR></EOS>
>>  ]
>>  java.lang.IllegalStateException: Message with index 0 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-12:319
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>>  313955098
>>  </DUNS_NBR></PAYL_HDR></EOS>
>>  ]
>>  java.lang.IllegalStateException: Message with index 0 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-13:288
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
>>  <ASSN_T
>>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>>  ]
>>  java.lang.IllegalStateException: Message with index 1 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>  ERROR - EIPComponent                   - Error processing exchange
>> InOnly[
>>   id: ID:pc007869-2244-1204099875217-14:295
>>   status: Active
>>   role: provider
>>   endpoint: aggregate
>>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>>  313955098<
>>  /DUNS_NBR></PAYL_HDR></MI>
>>  ]
>>  java.lang.IllegalStateException: Message with index 2 has already been
>>  received
>>         at
>>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>>  gregator.java:213)
>>
>>         at
>>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>  Aggregator.java:159)
>>
>>
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>  feCycle.java:489)
>>         at
>>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>  BaseLifeCycle.java:441)
>>         at
>>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>  Cycle.java:46)
>>         at
>>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>  d(DeliveryChannelImpl.java:593)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>  w.java:174)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>  ava:176)
>>         at
>>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>  a:134)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>  ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>
>>
>> Can anyone please help me to resolve this issue...
>>
>>  Thanks in advanced.
>>
>>
>>
>>
>> gnodet wrote:
>>  >
>>  > The jsr181 component can be configured with a given instance of the
>>  > class that will be used to process all the incoming exchanges.  You
>>  > just need to make sure your code is designed to be used that way: a
>>  > single instance will receive all calls concurrently, as in the
>>  > servlets world.  The servicemix-bean behaves the same way.
>>  >
>>  > Another way would be to implement your own aggregation strategy using
>>  > servicemix-eip or camel.
>>  > Servicemix-eip already provides some aggregation and can be extended
>>  > (but does not use any jaxb marshaling, so it depends if you need it or
>>  > not).  Camel is really flexible and powerful and it may be worth to
>>  > take a look at it.
>>  >
>>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com>
>> wrote:
>>  >>
>>  >>  Hi,
>>  >>
>>  >>  I am having a scenario:
>>  >>
>>  >>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)
>>  >>
>>  >>  My requirement is:
>>  >>
>>  >>  In JSR, we need incorporate the multi threading logic for getting
>> the
>>  >> data
>>  >>  from different data sources and by using the aggregator pattern we
>> need
>>  >> to
>>  >>  aggregate the xml data coming from different datasources and send
>> the
>>  >>  response back to the HTTP(BC).
>>  >>
>>  >>  Can anyone please tell me how to use the aggregator pattern in this
>>  >> regard.
>>  >>
>>  >>  --
>>  >>  View this message in context:
>>  >>
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  >>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15710141.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
The aggregator uses three properties: the correlationId (which
identifies messages related together), the index and the count.
Each group of messages must have a different correlationId, while all
the messages in a given group must have the same correlationId.  Then,
inside a group, no two messages can have the same index.
You need to make sure these rules are followed, or you'll have to hack
your own aggregation strategy.

By checking the log at DEBUG level (or remote debugging the
aggregator), you should be able to see what message are received,
hence the cause of the error.

On Wed, Feb 27, 2008 at 10:23 AM, sachin2008 <es...@gmail.com> wrote:
>
>  Presently i am able to aggregate the messages through aggregator.
>
>  But there is a problem.....
>
>  First of all i will explain my usecase:
>
>  JMSConsumer------>static
>  receipientlist----->lw-container------>aggregator------>JMSProvider
>
>  I am sending a request from JMSconsumer to static receipient list. from
>  static receipientlist i am sending three inonly messages to lw-container.In
>  lw-container i have used three components namely A,B and C. From component
>  A, i am sending an inonly message to aggregator by setting index as 0,count
>  as 3 and corelationid as id  and From Component B,  i am sending an inonly
>  message to aggregator by setting index as 1,count as 3 and corelationid as
>  id and From Component C, i am sending an inonly message to aggregator by
>  setting index as 2,count as 3 and corelationid as id.I am able to get the
>  aggregated message from the aggregator to JMSProvider.
>
>  Problems:
>  I am getting aggregated message in JMSProvider successfully only for the
>  first request .
>
>  But if i have given another request it is giving some exception like:
>
>
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-12:313
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  313955098
>  </DUNS_NBR></PAYL_HDR></EOS>
>  ]
>  java.lang.IllegalStateException: Message with index 0 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-13:286
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
>  <ASSN_T
>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  ]
>  java.lang.IllegalStateException: Message with index 1 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-14:293
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>  313955098<
>  /DUNS_NBR></PAYL_HDR></MI>
>  ]
>  java.lang.IllegalStateException: Message with index 2 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-12:315
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  313955098
>  </DUNS_NBR></PAYL_HDR></EOS>
>  ]
>  java.lang.IllegalStateException: Message with index 0 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-12:317
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  313955098
>  </DUNS_NBR></PAYL_HDR></EOS>
>  ]
>  java.lang.IllegalStateException: Message with index 0 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-12:319
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
>  313955098
>  </DUNS_NBR></PAYL_HDR></EOS>
>  ]
>  java.lang.IllegalStateException: Message with index 0 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-13:288
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
>  <ASSN_T
>  YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW>
>  ]
>  java.lang.IllegalStateException: Message with index 1 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>  ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-2244-1204099875217-14:295
>   status: Active
>   role: provider
>   endpoint: aggregate
>   in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
>  313955098<
>  /DUNS_NBR></PAYL_HDR></MI>
>  ]
>  java.lang.IllegalStateException: Message with index 2 has already been
>  received
>         at
>  org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg
>  gregator.java:213)
>
>         at
>  org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>  Aggregator.java:159)
>
>
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>  feCycle.java:489)
>         at
>  org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>  BaseLifeCycle.java:441)
>         at
>  org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>  Cycle.java:46)
>         at
>  org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>  d(DeliveryChannelImpl.java:593)
>         at
>  org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>  w.java:174)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>  ava:176)
>         at
>  org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>  a:134)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.runTask(ThreadPoolExecutor.java:665)
>         at
>  edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>  ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
>
>
> Can anyone please help me to resolve this issue...
>
>  Thanks in advanced.
>
>
>
>
> gnodet wrote:
>  >
>  > The jsr181 component can be configured with a given instance of the
>  > class that will be used to process all the incoming exchanges.  You
>  > just need to make sure your code is designed to be used that way: a
>  > single instance will receive all calls concurrently, as in the
>  > servlets world.  The servicemix-bean behaves the same way.
>  >
>  > Another way would be to implement your own aggregation strategy using
>  > servicemix-eip or camel.
>  > Servicemix-eip already provides some aggregation and can be extended
>  > (but does not use any jaxb marshaling, so it depends if you need it or
>  > not).  Camel is really flexible and powerful and it may be worth to
>  > take a look at it.
>  >
>  > On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com> wrote:
>  >>
>  >>  Hi,
>  >>
>  >>  I am having a scenario:
>  >>
>  >>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)
>  >>
>  >>  My requirement is:
>  >>
>  >>  In JSR, we need incorporate the multi threading logic for getting the
>  >> data
>  >>  from different data sources and by using the aggregator pattern we need
>  >> to
>  >>  aggregate the xml data coming from different datasources and send the
>  >>  response back to the HTTP(BC).
>  >>
>  >>  Can anyone please tell me how to use the aggregator pattern in this
>  >> regard.
>  >>
>  >>  --
>  >>  View this message in context:
>  >> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>  >>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >
>  >
>  >
>  > --
>  > Cheers,
>  > Guillaume Nodet
>  > ------------------------
>  > Blog: http://gnodet.blogspot.com/
>  >
>  >
>
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
>
>
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Presently i am able to aggregate the messages through aggregator. 

But there is a problem..... 

First of all i will explain my usecase: 

JMSConsumer------>static
receipientlist----->lw-container------>aggregator------>JMSProvider 

I am sending a request from JMSconsumer to static receipient list. from
static receipientlist i am sending three inonly messages to lw-container.In
lw-container i have used three components namely A,B and C. From component
A, i am sending an inonly message to aggregator by setting index as 0,count
as 3 and corelationid as id  and From Component B,  i am sending an inonly
message to aggregator by setting index as 1,count as 3 and corelationid as
id and From Component C, i am sending an inonly message to aggregator by
setting index as 2,count as 3 and corelationid as id.I am able to get the
aggregated message from the aggregator to JMSProvider. 

Problems:
I am getting aggregated message in JMSProvider successfully only for the
first request . 

But if i have given another request it is giving some exception like: 

ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-12:313 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
313955098 
</DUNS_NBR></PAYL_HDR></EOS> 
] 
java.lang.IllegalStateException: Message with index 0 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 
ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-13:286 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
<ASSN_T 
YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW> 
] 
java.lang.IllegalStateException: Message with index 1 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 
ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-14:293 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
313955098< 
/DUNS_NBR></PAYL_HDR></MI> 
] 
java.lang.IllegalStateException: Message with index 2 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 
ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-12:315 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
313955098 
</DUNS_NBR></PAYL_HDR></EOS> 
] 
java.lang.IllegalStateException: Message with index 0 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 
ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-12:317 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
313955098 
</DUNS_NBR></PAYL_HDR></EOS> 
] 
java.lang.IllegalStateException: Message with index 0 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 
ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-12:319 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><EOS><PAYL_HDR> <DUNS_NBR>
313955098 
</DUNS_NBR></PAYL_HDR></EOS> 
] 
java.lang.IllegalStateException: Message with index 0 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 
ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-13:288 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><EWOW><FAM_TREE_LINK> <ASSN>
<ASSN_T 
YPE_CD>1019</ASSN_TYPE_CD></ASSN></FAM_TREE_LINK></EWOW> 
] 
java.lang.IllegalStateException: Message with index 1 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 
ERROR - EIPComponent                   - Error processing exchange InOnly[ 
  id: ID:pc007869-2244-1204099875217-14:295 
  status: Active 
  role: provider 
  endpoint: aggregate 
  in: <?xml version="1.0" encoding="UTF-8"?><MI><PAYL_HDR> <DUNS_NBR>
313955098< 
/DUNS_NBR></PAYL_HDR></MI> 
] 
java.lang.IllegalStateException: Message with index 2 has already been
received 
        at
org.apache.servicemix.eip.patterns.SplitAggregator.addMessage(SplitAg 
gregator.java:213) 
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract 
Aggregator.java:159) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi 
feCycle.java:489) 
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async 
BaseLifeCycle.java:441) 
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife 
Cycle.java:46) 
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun 
d(DeliveryChannelImpl.java:593) 
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo 
w.java:174) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j 
ava:176) 
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav 
a:134) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.runTask(ThreadPoolExecutor.java:665) 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor 
ker.run(ThreadPoolExecutor.java:690) 
        at java.lang.Thread.run(Thread.java:595) 

Can anyone please help me to resolve this issue... 

Thanks in advanced. 


gnodet wrote:
> 
> The jsr181 component can be configured with a given instance of the
> class that will be used to process all the incoming exchanges.  You
> just need to make sure your code is designed to be used that way: a
> single instance will receive all calls concurrently, as in the
> servlets world.  The servicemix-bean behaves the same way.
> 
> Another way would be to implement your own aggregation strategy using
> servicemix-eip or camel.
> Servicemix-eip already provides some aggregation and can be extended
> (but does not use any jaxb marshaling, so it depends if you need it or
> not).  Camel is really flexible and powerful and it may be worth to
> take a look at it.
> 
> On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com> wrote:
>>
>>  Hi,
>>
>>  I am having a scenario:
>>
>>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)
>>
>>  My requirement is:
>>
>>  In JSR, we need incorporate the multi threading logic for getting the
>> data
>>  from different data sources and by using the aggregator pattern we need
>> to
>>  aggregate the xml data coming from different datasources and send the
>>  response back to the HTTP(BC).
>>
>>  Can anyone please tell me how to use the aggregator pattern in this
>> regard.
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15709304.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Presently i am able to aggregate the messages through aggregator.

But there is a problem.....

First of all i will explain my usecase:

JMSConsumer------>static
receipientlist----->lw-container------>aggregator------>JMSProvider

I am sending a request from JMSconsumer to static receipient list. from
static receipientlist i am sending three inonly messages to lw-container.In
lw-container i have used three components namely A,B and C. From component
A, i am sending an inonly message to aggregator by setting index as 0,count
as 3 and corelationid as id  and From Component B,  i am sending an inonly
message to aggregator by setting index as 1,count as 3 and corelationid as
id and From Component C, i am sending an inonly message to aggregator by
setting index as 2,count as 3 and corelationid as id.I am able to get the
aggregated message from the aggregator to JMSProvider.

Problems:
I am getting aggregated message in JMSProvider successfully only for the
first request But for other requests i am getting NULL response.

Can anyone please help me to resolve this issue...

Thanks in advanced.








Daryl Richter-3 wrote:
> 
> Sachin-
> 
> There's not much to go on here, but it looks to me like your EIP  
> components is expecting that the JMSCorrelationId property of the  
> message has been set and it isn't at that point.  Is your JMS  
> consumer properly setting the property?
> 
> 
> On Feb 24, 2008, at 10:57 PM, sachin2008 wrote:
> 
>>
>> Can anyone please resolve this issue.
>>
>> Thanks in advance...
>>
>>
>> sachin2008 wrote:
>>>
>>> Thanks for your reply.
>>>
>>> I am using aggregator pattern to merge all the messages coming from
>>> lw-container with different correlation id's  and send to the  
>>> provider
>>> queue.
>>>
>>> My use case is:
>>>
>>> JMS consumer ------> cbr-----> pipeline---
>>> |----------lw-container(transformer)
>>>
>>> |----------aggregator(target)---------- JMS provider
>>>
>>> In this i am sending two messages from lw-container to aggregator  
>>> with
>>> different correlation ids and it should aggregate those two  
>>> messages and
>>> send it to the JMS provider.
>>>
>>> But i am getting the following exception:
>>>
>>> ERROR - EIPComponent                   - Error processing exchange  
>>> InOnly[
>>>   id: ID:pc007869-1232-1203652015207-110:0
>>>   status: Active
>>>   role: provider
>>>   service: {http://servicemix.apache.org/poc}aggregator
>>>   endpoint: aggreagte
>>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>>> ]
>>> java.lang.IllegalArgumentException: Could not retrieve correlation  
>>> id for
>>> incomi
>>> ng exchange
>>>         at
>>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>> Aggregator.java:138)
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>> feCycle.java:489)
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>> BaseLifeCycle.java:441)
>>>         at
>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>> Cycle.java:46)
>>>         at
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>> d(DeliveryChannelImpl.java:593)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>> w.java:174)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>> ava:176)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>> a:134)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.runTask(ThreadPoolExecutor.java:665)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.run(ThreadPoolExecutor.java:690)
>>>         at java.lang.Thread.run(Thread.java:595)
>>> ERROR - EIPComponent                   - Error processing exchange  
>>> InOnly[
>>>   id: ID:pc007869-1232-1203652015207-110:1
>>>   status: Active
>>>   role: provider
>>>   service: {http://servicemix.apache.org/poc}aggregator
>>>   endpoint: aggreagte
>>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>>> ]
>>> java.lang.IllegalArgumentException: Could not retrieve correlation  
>>> id for
>>> incomi
>>> ng exchange
>>>         at
>>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>>> Aggregator.java:138)
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>>> feCycle.java:489)
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>>> BaseLifeCycle.java:441)
>>>         at
>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>>> Cycle.java:46)
>>>         at
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>> d(DeliveryChannelImpl.java:593)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>> w.java:174)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>> ava:176)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>> a:134)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.runTask(ThreadPoolExecutor.java:665)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.run(ThreadPoolExecutor.java:690)
>>>         at java.lang.Thread.run(Thread.java:595)
>>> ERROR - SedaQueue                      -
>>> org.apache.servicemix.jbi.nmr.flow.seda
>>> .SedaQueue$1@cf3c39 got error processing InOnly[
>>>   id: ID:pc007869-1232-1203652015207-109:1
>>>   status: Active
>>>   role: provider
>>>   service: {http://servicemix.apache.org/poc}FileReadService
>>>   endpoint: poc_FileReadService
>>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>>> ]
>>> java.lang.NullPointerException
>>>         at FileReadService.SendResponse(FileReadService.java:42)
>>>         at FileReadService.onMessageExchange(FileReadService.java:24)
>>>         at
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>> d(DeliveryChannelImpl.java:593)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>> w.java:174)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>> ava:176)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>> a:134)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.runTask(ThreadPoolExecutor.java:665)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.run(ThreadPoolExecutor.java:690)
>>>         at java.lang.Thread.run(Thread.java:595)
>>> ERROR - SedaQueue                      -
>>> org.apache.servicemix.jbi.nmr.flow.seda
>>> .SedaQueue$1@17ac7ba got error processing InOnly[
>>>   id: ID:pc007869-1232-1203652015207-109:0
>>>   status: Active
>>>   role: provider
>>>   service: {http://servicemix.apache.org/poc}FileReadService
>>>   endpoint: poc_FileReadService
>>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>>> ]
>>> java.lang.NullPointerException
>>>         at FileReadService.SendResponse(FileReadService.java:42)
>>>         at FileReadService.onMessageExchange(FileReadService.java:24)
>>>         at
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>>> d(DeliveryChannelImpl.java:593)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>>> w.java:174)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>>> ava:176)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>>> a:134)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.runTask(ThreadPoolExecutor.java:665)
>>>         at
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>>> ker.run(ThreadPoolExecutor.java:690)
>>>         at java.lang.Thread.run(Thread.java:595)
>>>
>>> Can anyone please resolve this issue.
>>>
>>> Thanks in advance....
>>>
>>>
>>>
>>> but i am getting an error
>>>
>>> gnodet wrote:
>>>>
>>>> The jsr181 component can be configured with a given instance of the
>>>> class that will be used to process all the incoming exchanges.  You
>>>> just need to make sure your code is designed to be used that way: a
>>>> single instance will receive all calls concurrently, as in the
>>>> servlets world.  The servicemix-bean behaves the same way.
>>>>
>>>> Another way would be to implement your own aggregation strategy  
>>>> using
>>>> servicemix-eip or camel.
>>>> Servicemix-eip already provides some aggregation and can be extended
>>>> (but does not use any jaxb marshaling, so it depends if you need  
>>>> it or
>>>> not).  Camel is really flexible and powerful and it may be worth to
>>>> take a look at it.
>>>>
>>>> On Wed, Feb 20, 2008 at 6:37 AM, sachin2008  
>>>> <es...@gmail.com> wrote:
>>>>>
>>>>>  Hi,
>>>>>
>>>>>  I am having a scenario:
>>>>>
>>>>>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP 
>>>>> (BC)
>>>>>
>>>>>  My requirement is:
>>>>>
>>>>>  In JSR, we need incorporate the multi threading logic for  
>>>>> getting the
>>>>> data
>>>>>  from different data sources and by using the aggregator pattern  
>>>>> we need
>>>>> to
>>>>>  aggregate the xml data coming from different datasources and  
>>>>> send the
>>>>>  response back to the HTTP(BC).
>>>>>
>>>>>  Can anyone please tell me how to use the aggregator pattern in  
>>>>> this
>>>>> regard.
>>>>>
>>>>>  --
>>>>>  View this message in context:
>>>>> http://www.nabble.com/Reg%3AAggregator-Pattern- 
>>>>> tp15582806s12049p15582806.html
>>>>>  Sent from the ServiceMix - User mailing list archive at  
>>>>> Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> -- 
>>>> Cheers,
>>>> Guillaume Nodet
>>>> ------------------------
>>>> Blog: http://gnodet.blogspot.com/
>>>>
>>>>
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Reg% 
>> 3AAggregator-Pattern-tp15582806s12049p15673584.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
> 
> --
> Daryl
> http://itsallsemantics.com
> 
> "
> 	-- The Replacements
> 
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15705730.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Daryl Richter <ng...@comcast.net>.
Sachin-

There's not much to go on here, but it looks to me like your EIP  
components is expecting that the JMSCorrelationId property of the  
message has been set and it isn't at that point.  Is your JMS  
consumer properly setting the property?


On Feb 24, 2008, at 10:57 PM, sachin2008 wrote:

>
> Can anyone please resolve this issue.
>
> Thanks in advance...
>
>
> sachin2008 wrote:
>>
>> Thanks for your reply.
>>
>> I am using aggregator pattern to merge all the messages coming from
>> lw-container with different correlation id's  and send to the  
>> provider
>> queue.
>>
>> My use case is:
>>
>> JMS consumer ------> cbr-----> pipeline---
>> |----------lw-container(transformer)
>>
>> |----------aggregator(target)---------- JMS provider
>>
>> In this i am sending two messages from lw-container to aggregator  
>> with
>> different correlation ids and it should aggregate those two  
>> messages and
>> send it to the JMS provider.
>>
>> But i am getting the following exception:
>>
>> ERROR - EIPComponent                   - Error processing exchange  
>> InOnly[
>>   id: ID:pc007869-1232-1203652015207-110:0
>>   status: Active
>>   role: provider
>>   service: {http://servicemix.apache.org/poc}aggregator
>>   endpoint: aggreagte
>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>> ]
>> java.lang.IllegalArgumentException: Could not retrieve correlation  
>> id for
>> incomi
>> ng exchange
>>         at
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>> Aggregator.java:138)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>> feCycle.java:489)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>> BaseLifeCycle.java:441)
>>         at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>> Cycle.java:46)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>> d(DeliveryChannelImpl.java:593)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>> w.java:174)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>> ava:176)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>> a:134)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>> ERROR - EIPComponent                   - Error processing exchange  
>> InOnly[
>>   id: ID:pc007869-1232-1203652015207-110:1
>>   status: Active
>>   role: provider
>>   service: {http://servicemix.apache.org/poc}aggregator
>>   endpoint: aggreagte
>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>> ]
>> java.lang.IllegalArgumentException: Could not retrieve correlation  
>> id for
>> incomi
>> ng exchange
>>         at
>> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
>> Aggregator.java:138)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
>> feCycle.java:489)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
>> BaseLifeCycle.java:441)
>>         at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
>> Cycle.java:46)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>> d(DeliveryChannelImpl.java:593)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>> w.java:174)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>> ava:176)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>> a:134)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>> ERROR - SedaQueue                      -
>> org.apache.servicemix.jbi.nmr.flow.seda
>> .SedaQueue$1@cf3c39 got error processing InOnly[
>>   id: ID:pc007869-1232-1203652015207-109:1
>>   status: Active
>>   role: provider
>>   service: {http://servicemix.apache.org/poc}FileReadService
>>   endpoint: poc_FileReadService
>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>> ]
>> java.lang.NullPointerException
>>         at FileReadService.SendResponse(FileReadService.java:42)
>>         at FileReadService.onMessageExchange(FileReadService.java:24)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>> d(DeliveryChannelImpl.java:593)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>> w.java:174)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>> ava:176)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>> a:134)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>> ERROR - SedaQueue                      -
>> org.apache.servicemix.jbi.nmr.flow.seda
>> .SedaQueue$1@17ac7ba got error processing InOnly[
>>   id: ID:pc007869-1232-1203652015207-109:0
>>   status: Active
>>   role: provider
>>   service: {http://servicemix.apache.org/poc}FileReadService
>>   endpoint: poc_FileReadService
>>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
>> ]
>> java.lang.NullPointerException
>>         at FileReadService.SendResponse(FileReadService.java:42)
>>         at FileReadService.onMessageExchange(FileReadService.java:24)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
>> d(DeliveryChannelImpl.java:593)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
>> w.java:174)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
>> ava:176)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
>> a:134)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.runTask(ThreadPoolExecutor.java:665)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
>> ker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>>
>> Can anyone please resolve this issue.
>>
>> Thanks in advance....
>>
>>
>>
>> but i am getting an error
>>
>> gnodet wrote:
>>>
>>> The jsr181 component can be configured with a given instance of the
>>> class that will be used to process all the incoming exchanges.  You
>>> just need to make sure your code is designed to be used that way: a
>>> single instance will receive all calls concurrently, as in the
>>> servlets world.  The servicemix-bean behaves the same way.
>>>
>>> Another way would be to implement your own aggregation strategy  
>>> using
>>> servicemix-eip or camel.
>>> Servicemix-eip already provides some aggregation and can be extended
>>> (but does not use any jaxb marshaling, so it depends if you need  
>>> it or
>>> not).  Camel is really flexible and powerful and it may be worth to
>>> take a look at it.
>>>
>>> On Wed, Feb 20, 2008 at 6:37 AM, sachin2008  
>>> <es...@gmail.com> wrote:
>>>>
>>>>  Hi,
>>>>
>>>>  I am having a scenario:
>>>>
>>>>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP 
>>>> (BC)
>>>>
>>>>  My requirement is:
>>>>
>>>>  In JSR, we need incorporate the multi threading logic for  
>>>> getting the
>>>> data
>>>>  from different data sources and by using the aggregator pattern  
>>>> we need
>>>> to
>>>>  aggregate the xml data coming from different datasources and  
>>>> send the
>>>>  response back to the HTTP(BC).
>>>>
>>>>  Can anyone please tell me how to use the aggregator pattern in  
>>>> this
>>>> regard.
>>>>
>>>>  --
>>>>  View this message in context:
>>>> http://www.nabble.com/Reg%3AAggregator-Pattern- 
>>>> tp15582806s12049p15582806.html
>>>>  Sent from the ServiceMix - User mailing list archive at  
>>>> Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> -- 
>>> Cheers,
>>> Guillaume Nodet
>>> ------------------------
>>> Blog: http://gnodet.blogspot.com/
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Reg% 
> 3AAggregator-Pattern-tp15582806s12049p15673584.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>

--
Daryl
http://itsallsemantics.com

"
	-- The Replacements





Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Can anyone please resolve this issue.

Thanks in advance...


sachin2008 wrote:
> 
> Thanks for your reply.
> 
> I am using aggregator pattern to merge all the messages coming from
> lw-container with different correlation id's  and send to the provider
> queue.
> 
> My use case is:
> 
> JMS consumer ------> cbr-----> pipeline---
> |----------lw-container(transformer)
>                                                              
> |----------aggregator(target)---------- JMS provider
> 
> In this i am sending two messages from lw-container to aggregator with
> different correlation ids and it should aggregate those two messages and
> send it to the JMS provider.
> 
> But i am getting the following exception:
> 
> ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-1232-1203652015207-110:0
>   status: Active
>   role: provider
>   service: {http://servicemix.apache.org/poc}aggregator
>   endpoint: aggreagte
>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
> ]
> java.lang.IllegalArgumentException: Could not retrieve correlation id for
> incomi
> ng exchange
>         at
> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
> Aggregator.java:138)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
> feCycle.java:489)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
> BaseLifeCycle.java:441)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
> Cycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:593)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:174)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:176)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:134)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.runTask(ThreadPoolExecutor.java:665)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
> ERROR - EIPComponent                   - Error processing exchange InOnly[
>   id: ID:pc007869-1232-1203652015207-110:1
>   status: Active
>   role: provider
>   service: {http://servicemix.apache.org/poc}aggregator
>   endpoint: aggreagte
>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
> ]
> java.lang.IllegalArgumentException: Could not retrieve correlation id for
> incomi
> ng exchange
>         at
> org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
> Aggregator.java:138)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
> feCycle.java:489)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
> BaseLifeCycle.java:441)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
> Cycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:593)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:174)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:176)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:134)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.runTask(ThreadPoolExecutor.java:665)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
> ERROR - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda
> .SedaQueue$1@cf3c39 got error processing InOnly[
>   id: ID:pc007869-1232-1203652015207-109:1
>   status: Active
>   role: provider
>   service: {http://servicemix.apache.org/poc}FileReadService
>   endpoint: poc_FileReadService
>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
> ]
> java.lang.NullPointerException
>         at FileReadService.SendResponse(FileReadService.java:42)
>         at FileReadService.onMessageExchange(FileReadService.java:24)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:593)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:174)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:176)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:134)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.runTask(ThreadPoolExecutor.java:665)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
> ERROR - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda
> .SedaQueue$1@17ac7ba got error processing InOnly[
>   id: ID:pc007869-1232-1203652015207-109:0
>   status: Active
>   role: provider
>   service: {http://servicemix.apache.org/poc}FileReadService
>   endpoint: poc_FileReadService
>   in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
> ]
> java.lang.NullPointerException
>         at FileReadService.SendResponse(FileReadService.java:42)
>         at FileReadService.onMessageExchange(FileReadService.java:24)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:593)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:174)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:176)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:134)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.runTask(ThreadPoolExecutor.java:665)
>         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
> 
> Can anyone please resolve this issue.
> 
> Thanks in advance....
> 
> 
> 
> but i am getting an error 
> 
> gnodet wrote:
>> 
>> The jsr181 component can be configured with a given instance of the
>> class that will be used to process all the incoming exchanges.  You
>> just need to make sure your code is designed to be used that way: a
>> single instance will receive all calls concurrently, as in the
>> servlets world.  The servicemix-bean behaves the same way.
>> 
>> Another way would be to implement your own aggregation strategy using
>> servicemix-eip or camel.
>> Servicemix-eip already provides some aggregation and can be extended
>> (but does not use any jaxb marshaling, so it depends if you need it or
>> not).  Camel is really flexible and powerful and it may be worth to
>> take a look at it.
>> 
>> On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com> wrote:
>>>
>>>  Hi,
>>>
>>>  I am having a scenario:
>>>
>>>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)
>>>
>>>  My requirement is:
>>>
>>>  In JSR, we need incorporate the multi threading logic for getting the
>>> data
>>>  from different data sources and by using the aggregator pattern we need
>>> to
>>>  aggregate the xml data coming from different datasources and send the
>>>  response back to the HTTP(BC).
>>>
>>>  Can anyone please tell me how to use the aggregator pattern in this
>>> regard.
>>>
>>>  --
>>>  View this message in context:
>>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15673584.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by sachin2008 <es...@gmail.com>.
Thanks for your reply.

I am using aggregator pattern to merge all the messages coming from
lw-container with different correlation id's  and send to the provider
queue.

My use case is:

JMS consumer ------> cbr-----> pipeline---
|----------lw-container(transformer)
                                                             
|----------aggregator(target)---------- JMS provider

In this i am sending two messages from lw-container to aggregator with
different correlation ids and it should aggregate those two messages and
send it to the JMS consumer.

But i am getting the following exception:

ERROR - EIPComponent                   - Error processing exchange InOnly[
  id: ID:pc007869-1232-1203652015207-110:0
  status: Active
  role: provider
  service: {http://servicemix.apache.org/poc}aggregator
  endpoint: aggreagte
  in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
]
java.lang.IllegalArgumentException: Could not retrieve correlation id for
incomi
ng exchange
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
Aggregator.java:138)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
feCycle.java:489)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:441)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:593)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:174)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:176)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.runTask(ThreadPoolExecutor.java:665)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:595)
ERROR - EIPComponent                   - Error processing exchange InOnly[
  id: ID:pc007869-1232-1203652015207-110:1
  status: Active
  role: provider
  service: {http://servicemix.apache.org/poc}aggregator
  endpoint: aggreagte
  in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
]
java.lang.IllegalArgumentException: Could not retrieve correlation id for
incomi
ng exchange
        at
org.apache.servicemix.eip.support.AbstractAggregator.process(Abstract
Aggregator.java:138)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
feCycle.java:489)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:441)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:593)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:174)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:176)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.runTask(ThreadPoolExecutor.java:665)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:595)
ERROR - SedaQueue                      -
org.apache.servicemix.jbi.nmr.flow.seda
.SedaQueue$1@cf3c39 got error processing InOnly[
  id: ID:pc007869-1232-1203652015207-109:1
  status: Active
  role: provider
  service: {http://servicemix.apache.org/poc}FileReadService
  endpoint: poc_FileReadService
  in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
]
java.lang.NullPointerException
        at FileReadService.SendResponse(FileReadService.java:42)
        at FileReadService.onMessageExchange(FileReadService.java:24)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:593)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:174)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:176)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.runTask(ThreadPoolExecutor.java:665)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:595)
ERROR - SedaQueue                      -
org.apache.servicemix.jbi.nmr.flow.seda
.SedaQueue$1@17ac7ba got error processing InOnly[
  id: ID:pc007869-1232-1203652015207-109:0
  status: Active
  role: provider
  service: {http://servicemix.apache.org/poc}FileReadService
  endpoint: poc_FileReadService
  in: <?xml version="1.0" encoding="UTF-8"?><PAY_LOAD>EOS</PAY_LOAD>
]
java.lang.NullPointerException
        at FileReadService.SendResponse(FileReadService.java:42)
        at FileReadService.onMessageExchange(FileReadService.java:24)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:593)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:174)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:176)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.runTask(ThreadPoolExecutor.java:665)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:595)

Can anyone please resolve this issue.

Thanks in advance....



but i am getting an error 

gnodet wrote:
> 
> The jsr181 component can be configured with a given instance of the
> class that will be used to process all the incoming exchanges.  You
> just need to make sure your code is designed to be used that way: a
> single instance will receive all calls concurrently, as in the
> servlets world.  The servicemix-bean behaves the same way.
> 
> Another way would be to implement your own aggregation strategy using
> servicemix-eip or camel.
> Servicemix-eip already provides some aggregation and can be extended
> (but does not use any jaxb marshaling, so it depends if you need it or
> not).  Camel is really flexible and powerful and it may be worth to
> take a look at it.
> 
> On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com> wrote:
>>
>>  Hi,
>>
>>  I am having a scenario:
>>
>>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)
>>
>>  My requirement is:
>>
>>  In JSR, we need incorporate the multi threading logic for getting the
>> data
>>  from different data sources and by using the aggregator pattern we need
>> to
>>  aggregate the xml data coming from different datasources and send the
>>  response back to the HTTP(BC).
>>
>>  Can anyone please tell me how to use the aggregator pattern in this
>> regard.
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15627710.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Reg:Aggregator Pattern

Posted by Guillaume Nodet <gn...@gmail.com>.
The jsr181 component can be configured with a given instance of the
class that will be used to process all the incoming exchanges.  You
just need to make sure your code is designed to be used that way: a
single instance will receive all calls concurrently, as in the
servlets world.  The servicemix-bean behaves the same way.

Another way would be to implement your own aggregation strategy using
servicemix-eip or camel.
Servicemix-eip already provides some aggregation and can be extended
(but does not use any jaxb marshaling, so it depends if you need it or
not).  Camel is really flexible and powerful and it may be worth to
take a look at it.

On Wed, Feb 20, 2008 at 6:37 AM, sachin2008 <es...@gmail.com> wrote:
>
>  Hi,
>
>  I am having a scenario:
>
>  HTTP(BC)-------> JSR----------->Aggregator---------------->HTTP(BC)
>
>  My requirement is:
>
>  In JSR, we need incorporate the multi threading logic for getting the data
>  from different data sources and by using the aggregator pattern we need to
>  aggregate the xml data coming from different datasources and send the
>  response back to the HTTP(BC).
>
>  Can anyone please tell me how to use the aggregator pattern in this regard.
>
>  --
>  View this message in context: http://www.nabble.com/Reg%3AAggregator-Pattern-tp15582806s12049p15582806.html
>  Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/