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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>
>> 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.

Reply via email to