You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by taran <ta...@globallogic.com> on 2008/07/15 15:27:51 UTC

ServiceMix Hangs

HI All,
 
We have a JBI component deployed on servicemix.We're facing an issue that
after using this JBI component for some requests, ServiceMix hangs and stops
responding to further requests at HTTPEnd Point.
 
Just wanted to clarify one thing.
 
If we have a XBEAN "A" which creates new MessageExchange and route a message
to XBEAN "B".
 
XBEAN "B" creates another MesageExchange and route it to XBEAN "C"
asynchronously and immediately send "Done" asynchronously on the reverse
MessageExchange for XBEAN "A".
 
XBEAN "C" does some job and send "DONE" asynchronously on the reverse
MessageExchange for XBEAN "B"
 
Do you think this implementation (assuming there are no errors in the flow
at runtime) can lead to servicemix being hung and stops responding to
requests (may be due to some memory leak or something else).
please advice.


---- -------------------------
One of my peers responsed by saying:

The only thing I can think off is is A & B are listening to DONE messages or
not. B & C send DONE is fine – but that just puts these messages on the bus.
It is responsibility og A & B to pick it up from the bus. If they don’t pick
it up – then those messages will remain on the bus – and there is a limit to
number of messages on the bus. As soon as this limit is reached – no
component is able to send messages on the bus and it will appear as
ServiceMix has hanged & stopped responding.

---------------------------------

Can anybody provide inputs on this.
as to how we can pick "Done" messages in the XBEANs and resolve this issue

regards
tarandeep
-- 
View this message in context: http://www.nabble.com/ServiceMix-Hangs-tp18465304p18465304.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: ServiceMix Hangs

Posted by Thomas Termin <tt...@blue-elephant-systems.com>.
Btw. Do you have any exceptions in your logfile? For example
IllegalState or whatever.

Cheers
Thomas

taran wrote:
> Hi Thomas,
> 
> Thanks for your prompt inputs.
> I'll try to explain our implementation for message exchange handling so that
> you could help us resolve this issue like you did for yourself.
> 
> BeanA:
> 
> public class BeanA implements MessageExchangeListener {
> 
> 	public void onMessageExchange(MessageExchange reverseExchange) throws
> MessagingException {
>    if (reverseExchange.getStatus() == ExchangeStatus.ACTIVE) {
>      // 1) create new Message Exchange to route a message to BeanB. 
> //DeliveryChannel is spring injected in the bean
> 
>    ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
>    InOnly forwardExchange =  
> deliverychannel.createExchangeFactory(endPoint)
>     // sending message asynchronosly
>     channel.send(forwardExchange );
>   }
> }
> 
> BeanB:
> 
> public class BeanB implements MessageExchangeListener {
> 
> 	public void onMessageExchange(MessageExchange  reverseExchange) throws
> MessagingException {
>   if (reverseExchange.getStatus() == ExchangeStatus.ACTIVE) {
>      // 1) create new Message Exchange to route a message to BeanC.  
> //DeliveryChannel is spring injected in the bean
> 
>      ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
>      InOnly forwardExchange =  
> deliverychannel.createExchangeFactory(endPoint)
>     // sending message asynchronosly
>     channel.send(forwardExchange );
> 
>    //2) Now send Done message to BeanA
>    reverseExchange.setStatus(ExchangeStatus.DONE);
>    // sending message asynchronosly
>    channel.send(forwardExchange );
>   }
> }
> 
> This is the way we're managing message exchanges.
> Please note we are using IN-ONLY MEP.
> 
> Could you please provide us some inputs based on this info.
> or please let me know if you need some additional information to see the
> issue.
> 
> thanks and regards
> tarandeep
> 
> 
> tterm wrote:
> 
>>I would definitly say that there is an mistake in your message exchange
>>handling. We had the same some time ago but could solve it. I can't see
>>what you exactly do in your code. Is it InOnly, InOut or whatever. Do
>>you check the state always?
>>
>>Cheers
>>Thomas
>>
>>taran wrote:
>>
>>>HI All,
>>> 
>>>We have a JBI component deployed on servicemix.We're facing an issue that
>>>after using this JBI component for some requests, ServiceMix hangs and
>>>stops
>>>responding to further requests at HTTPEnd Point.
>>> 
>>>Just wanted to clarify one thing.
>>> 
>>>If we have a XBEAN "A" which creates new MessageExchange and route a
>>>message
>>>to XBEAN "B".
>>> 
>>>XBEAN "B" creates another MesageExchange and route it to XBEAN "C"
>>>asynchronously and immediately send "Done" asynchronously on the reverse
>>>MessageExchange for XBEAN "A".
>>> 
>>>XBEAN "C" does some job and send "DONE" asynchronously on the reverse
>>>MessageExchange for XBEAN "B"
>>> 
>>>Do you think this implementation (assuming there are no errors in the
>>>flow
>>>at runtime) can lead to servicemix being hung and stops responding to
>>>requests (may be due to some memory leak or something else).
>>>please advice.
>>>
>>>
>>>---- -------------------------
>>>One of my peers responsed by saying:
>>>
>>>The only thing I can think off is is A & B are listening to DONE messages
>>>or
>>>not. B & C send DONE is fine – but that just puts these messages on the
>>>bus.
>>>It is responsibility og A & B to pick it up from the bus. If they don’t
>>>pick
>>>it up – then those messages will remain on the bus – and there is a limit
>>>to
>>>number of messages on the bus. As soon as this limit is reached – no
>>>component is able to send messages on the bus and it will appear as
>>>ServiceMix has hanged & stopped responding.
>>>
>>>---------------------------------
>>>
>>>Can anybody provide inputs on this.
>>>as to how we can pick "Done" messages in the XBEANs and resolve this
>>>issue
>>>
>>>regards
>>>tarandeep
>>
>>
>>-- 
>>Thomas Termin
>>_______________________________
>>blue elephant systems GmbH
>>Wollgrasweg 49
>>D-70599 Stuttgart
>>
>>Tel    :  (+49) 0711 - 45 10 17 676
>>Fax    :  (+49) 0711 - 45 10 17 573
>>WWW    :  http://www.blue-elephant-systems.com
>>Email  :  Thomas.Termin@blue-elephant-systems.com
>>
>>blue elephant systems GmbH
>>Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>>Registergericht : Amtsgericht Stuttgart, HRB 24106
>>Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>
>>
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle


Re: ServiceMix Hangs

Posted by Thomas Termin <tt...@blue-elephant-systems.com>.
taran wrote:
> Sorry it was a typo error.
> the code actually is:
> 
>       ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
>       InOnly forwardExchange =  
>  deliverychannel.createExchangeFactory(endPoint)
>      // sending message asynchronosly
>      channel.send(forwardExchange );
>  
>     //2) Now send Done message to BeanA
>     reverseExchange.setStatus(ExchangeStatus.DONE);
>     // sending message asynchronosly
>     channel.send(reverseExchange);
>    }
>  }
> 
> yes i see illegal state exceptions on service mix console
Ok copy and paste it here.


> 
> regards
> taran
> 
> 
> tterm wrote:
> 
>>
>>>     ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
>>>     InOnly forwardExchange =  
>>>deliverychannel.createExchangeFactory(endPoint)
>>>    // sending message asynchronosly
>>>    channel.send(forwardExchange );
>>>
>>>   //2) Now send Done message to BeanA
>>>   reverseExchange.setStatus(ExchangeStatus.DONE);
>>>   // sending message asynchronosly
>>>   channel.send(forwardExchange );
>>>  }
>>>}
>>
>>You send twice the forwardExchange but never the done exchange back.
>>
>>
>>>This is the way we're managing message exchanges.
>>>Please note we are using IN-ONLY MEP.
>>>
>>>Could you please provide us some inputs based on this info.
>>>or please let me know if you need some additional information to see the
>>>issue.
>>>
>>>thanks and regards
>>>tarandeep
>>>
>>>
>>>tterm wrote:
>>>
>>>
>>>>I would definitly say that there is an mistake in your message exchange
>>>>handling. We had the same some time ago but could solve it. I can't see
>>>>what you exactly do in your code. Is it InOnly, InOut or whatever. Do
>>>>you check the state always?
>>>>
>>>>Cheers
>>>>Thomas
>>>>
>>>>taran wrote:
>>>>
>>>>
>>>>>HI All,
>>>>>
>>>>>We have a JBI component deployed on servicemix.We're facing an issue
> 
> that
> 
>>>>>after using this JBI component for some requests, ServiceMix hangs and
>>>>>stops
>>>>>responding to further requests at HTTPEnd Point.
>>>>>
>>>>>Just wanted to clarify one thing.
>>>>>
>>>>>If we have a XBEAN "A" which creates new MessageExchange and route a
>>>>>message
>>>>>to XBEAN "B".
>>>>>
>>>>>XBEAN "B" creates another MesageExchange and route it to XBEAN "C"
>>>>>asynchronously and immediately send "Done" asynchronously on the reverse
>>>>>MessageExchange for XBEAN "A".
>>>>>
>>>>>XBEAN "C" does some job and send "DONE" asynchronously on the reverse
>>>>>MessageExchange for XBEAN "B"
>>>>>
>>>>>Do you think this implementation (assuming there are no errors in the
>>>>>flow
>>>>>at runtime) can lead to servicemix being hung and stops responding to
>>>>>requests (may be due to some memory leak or something else).
>>>>>please advice.
>>>>>
>>>>>
>>>>>---- -------------------------
>>>>>One of my peers responsed by saying:
>>>>>
>>>>>The only thing I can think off is is A & B are listening to DONE
> 
> messages
> 
>>>>>or
>>>>>not. B & C send DONE is fine – but that just puts these messages on the
>>>>>bus.
>>>>>It is responsibility og A & B to pick it up from the bus. If they don’t
>>>>>pick
>>>>>it up – then those messages will remain on the bus – and there is a
> 
> limit
> 
>>>>>to
>>>>>number of messages on the bus. As soon as this limit is reached – no
>>>>>component is able to send messages on the bus and it will appear as
>>>>>ServiceMix has hanged & stopped responding.
>>>>>
>>>>>---------------------------------
>>>>>
>>>>>Can anybody provide inputs on this.
>>>>>as to how we can pick "Done" messages in the XBEANs and resolve this
>>>>>issue
>>>>>
>>>>>regards
>>>>>tarandeep
>>>>
>>>>
>>>>-- 
>>>>Thomas Termin
>>>>_______________________________
>>>>blue elephant systems GmbH
>>>>Wollgrasweg 49
>>>>D-70599 Stuttgart
>>>>
>>>>Tel    :  (+49) 0711 - 45 10 17 676
>>>>Fax    :  (+49) 0711 - 45 10 17 573
>>>>WWW    :  http://www.blue-elephant-systems.com
>>>>Email  :  Thomas.Termin@blue-elephant-systems.com
>>>>
>>>>blue elephant systems GmbH
>>>>Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>>>>Registergericht : Amtsgericht Stuttgart, HRB 24106
>>>>Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>>>
>>>>
>>>>
>>>
>>>
>>
>>-- 
>>Thomas Termin
>>_______________________________
>>blue elephant systems GmbH
>>Wollgrasweg 49
>>D-70599 Stuttgart
>>
>>Tel    :  (+49) 0711 - 45 10 17 676
>>Fax    :  (+49) 0711 - 45 10 17 573
>>WWW    :  http://www.blue-elephant-systems.com
>>Email  :  Thomas.Termin@blue-elephant-systems.com
>>
>>blue elephant systems GmbH
>>Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>>Registergericht : Amtsgericht Stuttgart, HRB 24106
>>Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>
>>
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle


Re: ServiceMix Hangs

Posted by taran <ta...@globallogic.com>.
Sorry it was a typo error.
the code actually is:

      ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
      InOnly forwardExchange =  
 deliverychannel.createExchangeFactory(endPoint)
     // sending message asynchronosly
     channel.send(forwardExchange );
 
    //2) Now send Done message to BeanA
    reverseExchange.setStatus(ExchangeStatus.DONE);
    // sending message asynchronosly
    channel.send(reverseExchange);
   }
 }

yes i see illegal state exceptions on service mix console

regards
taran


tterm wrote:
> 
> 
>>      ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
>>      InOnly forwardExchange =  
>> deliverychannel.createExchangeFactory(endPoint)
>>     // sending message asynchronosly
>>     channel.send(forwardExchange );
>> 
>>    //2) Now send Done message to BeanA
>>    reverseExchange.setStatus(ExchangeStatus.DONE);
>>    // sending message asynchronosly
>>    channel.send(forwardExchange );
>>   }
>> }
> You send twice the forwardExchange but never the done exchange back.
> 
>> 
>> This is the way we're managing message exchanges.
>> Please note we are using IN-ONLY MEP.
>> 
>> Could you please provide us some inputs based on this info.
>> or please let me know if you need some additional information to see the
>> issue.
>> 
>> thanks and regards
>> tarandeep
>> 
>> 
>> tterm wrote:
>> 
>>>I would definitly say that there is an mistake in your message exchange
>>>handling. We had the same some time ago but could solve it. I can't see
>>>what you exactly do in your code. Is it InOnly, InOut or whatever. Do
>>>you check the state always?
>>>
>>>Cheers
>>>Thomas
>>>
>>>taran wrote:
>>>
>>>>HI All,
>>>> 
>>>>We have a JBI component deployed on servicemix.We're facing an issue
that
>>>>after using this JBI component for some requests, ServiceMix hangs and
>>>>stops
>>>>responding to further requests at HTTPEnd Point.
>>>> 
>>>>Just wanted to clarify one thing.
>>>> 
>>>>If we have a XBEAN "A" which creates new MessageExchange and route a
>>>>message
>>>>to XBEAN "B".
>>>> 
>>>>XBEAN "B" creates another MesageExchange and route it to XBEAN "C"
>>>>asynchronously and immediately send "Done" asynchronously on the reverse
>>>>MessageExchange for XBEAN "A".
>>>> 
>>>>XBEAN "C" does some job and send "DONE" asynchronously on the reverse
>>>>MessageExchange for XBEAN "B"
>>>> 
>>>>Do you think this implementation (assuming there are no errors in the
>>>>flow
>>>>at runtime) can lead to servicemix being hung and stops responding to
>>>>requests (may be due to some memory leak or something else).
>>>>please advice.
>>>>
>>>>
>>>>---- -------------------------
>>>>One of my peers responsed by saying:
>>>>
>>>>The only thing I can think off is is A & B are listening to DONE
messages
>>>>or
>>>>not. B & C send DONE is fine – but that just puts these messages on the
>>>>bus.
>>>>It is responsibility og A & B to pick it up from the bus. If they don’t
>>>>pick
>>>>it up – then those messages will remain on the bus – and there is a
limit
>>>>to
>>>>number of messages on the bus. As soon as this limit is reached – no
>>>>component is able to send messages on the bus and it will appear as
>>>>ServiceMix has hanged & stopped responding.
>>>>
>>>>---------------------------------
>>>>
>>>>Can anybody provide inputs on this.
>>>>as to how we can pick "Done" messages in the XBEANs and resolve this
>>>>issue
>>>>
>>>>regards
>>>>tarandeep
>>>
>>>
>>>-- 
>>>Thomas Termin
>>>_______________________________
>>>blue elephant systems GmbH
>>>Wollgrasweg 49
>>>D-70599 Stuttgart
>>>
>>>Tel    :  (+49) 0711 - 45 10 17 676
>>>Fax    :  (+49) 0711 - 45 10 17 573
>>>WWW    :  http://www.blue-elephant-systems.com
>>>Email  :  Thomas.Termin@blue-elephant-systems.com
>>>
>>>blue elephant systems GmbH
>>>Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>>>Registergericht : Amtsgericht Stuttgart, HRB 24106
>>>Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>>
>>>
>>>
>> 
>> 
> 
> 
> -- 
> Thomas Termin
> _______________________________
> blue elephant systems GmbH
> Wollgrasweg 49
> D-70599 Stuttgart
> 
> Tel    :  (+49) 0711 - 45 10 17 676
> Fax    :  (+49) 0711 - 45 10 17 573
> WWW    :  http://www.blue-elephant-systems.com
> Email  :  Thomas.Termin@blue-elephant-systems.com
> 
> blue elephant systems GmbH
> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> Registergericht : Amtsgericht Stuttgart, HRB 24106
> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ServiceMix-Hangs-tp18465304p18483103.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: ServiceMix Hangs

Posted by Thomas Termin <tt...@blue-elephant-systems.com>.
>      ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
>      InOnly forwardExchange =  
> deliverychannel.createExchangeFactory(endPoint)
>     // sending message asynchronosly
>     channel.send(forwardExchange );
> 
>    //2) Now send Done message to BeanA
>    reverseExchange.setStatus(ExchangeStatus.DONE);
>    // sending message asynchronosly
>    channel.send(forwardExchange );
>   }
> }
You send twice the forwardExchange but never the done exchange back.

> 
> This is the way we're managing message exchanges.
> Please note we are using IN-ONLY MEP.
> 
> Could you please provide us some inputs based on this info.
> or please let me know if you need some additional information to see the
> issue.
> 
> thanks and regards
> tarandeep
> 
> 
> tterm wrote:
> 
>>I would definitly say that there is an mistake in your message exchange
>>handling. We had the same some time ago but could solve it. I can't see
>>what you exactly do in your code. Is it InOnly, InOut or whatever. Do
>>you check the state always?
>>
>>Cheers
>>Thomas
>>
>>taran wrote:
>>
>>>HI All,
>>> 
>>>We have a JBI component deployed on servicemix.We're facing an issue that
>>>after using this JBI component for some requests, ServiceMix hangs and
>>>stops
>>>responding to further requests at HTTPEnd Point.
>>> 
>>>Just wanted to clarify one thing.
>>> 
>>>If we have a XBEAN "A" which creates new MessageExchange and route a
>>>message
>>>to XBEAN "B".
>>> 
>>>XBEAN "B" creates another MesageExchange and route it to XBEAN "C"
>>>asynchronously and immediately send "Done" asynchronously on the reverse
>>>MessageExchange for XBEAN "A".
>>> 
>>>XBEAN "C" does some job and send "DONE" asynchronously on the reverse
>>>MessageExchange for XBEAN "B"
>>> 
>>>Do you think this implementation (assuming there are no errors in the
>>>flow
>>>at runtime) can lead to servicemix being hung and stops responding to
>>>requests (may be due to some memory leak or something else).
>>>please advice.
>>>
>>>
>>>---- -------------------------
>>>One of my peers responsed by saying:
>>>
>>>The only thing I can think off is is A & B are listening to DONE messages
>>>or
>>>not. B & C send DONE is fine – but that just puts these messages on the
>>>bus.
>>>It is responsibility og A & B to pick it up from the bus. If they don’t
>>>pick
>>>it up – then those messages will remain on the bus – and there is a limit
>>>to
>>>number of messages on the bus. As soon as this limit is reached – no
>>>component is able to send messages on the bus and it will appear as
>>>ServiceMix has hanged & stopped responding.
>>>
>>>---------------------------------
>>>
>>>Can anybody provide inputs on this.
>>>as to how we can pick "Done" messages in the XBEANs and resolve this
>>>issue
>>>
>>>regards
>>>tarandeep
>>
>>
>>-- 
>>Thomas Termin
>>_______________________________
>>blue elephant systems GmbH
>>Wollgrasweg 49
>>D-70599 Stuttgart
>>
>>Tel    :  (+49) 0711 - 45 10 17 676
>>Fax    :  (+49) 0711 - 45 10 17 573
>>WWW    :  http://www.blue-elephant-systems.com
>>Email  :  Thomas.Termin@blue-elephant-systems.com
>>
>>blue elephant systems GmbH
>>Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>>Registergericht : Amtsgericht Stuttgart, HRB 24106
>>Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>
>>
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle


Re: ServiceMix Hangs

Posted by taran <ta...@globallogic.com>.
Hi Thomas,

Thanks for your prompt inputs.
I'll try to explain our implementation for message exchange handling so that
you could help us resolve this issue like you did for yourself.

BeanA:

public class BeanA implements MessageExchangeListener {

	public void onMessageExchange(MessageExchange reverseExchange) throws
MessagingException {
   if (reverseExchange.getStatus() == ExchangeStatus.ACTIVE) {
     // 1) create new Message Exchange to route a message to BeanB. 
//DeliveryChannel is spring injected in the bean

   ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
   InOnly forwardExchange =  
deliverychannel.createExchangeFactory(endPoint)
    // sending message asynchronosly
    channel.send(forwardExchange );
  }
}

BeanB:

public class BeanB implements MessageExchangeListener {

	public void onMessageExchange(MessageExchange  reverseExchange) throws
MessagingException {
  if (reverseExchange.getStatus() == ExchangeStatus.ACTIVE) {
     // 1) create new Message Exchange to route a message to BeanC.  
//DeliveryChannel is spring injected in the bean

     ServiceEndpoint endPoint = context.getEndpoint(service,endpoint);     
     InOnly forwardExchange =  
deliverychannel.createExchangeFactory(endPoint)
    // sending message asynchronosly
    channel.send(forwardExchange );

   //2) Now send Done message to BeanA
   reverseExchange.setStatus(ExchangeStatus.DONE);
   // sending message asynchronosly
   channel.send(forwardExchange );
  }
}

This is the way we're managing message exchanges.
Please note we are using IN-ONLY MEP.

Could you please provide us some inputs based on this info.
or please let me know if you need some additional information to see the
issue.

thanks and regards
tarandeep


tterm wrote:
> 
> I would definitly say that there is an mistake in your message exchange
> handling. We had the same some time ago but could solve it. I can't see
> what you exactly do in your code. Is it InOnly, InOut or whatever. Do
> you check the state always?
> 
> Cheers
> Thomas
> 
> taran wrote:
>> HI All,
>>  
>> We have a JBI component deployed on servicemix.We're facing an issue that
>> after using this JBI component for some requests, ServiceMix hangs and
>> stops
>> responding to further requests at HTTPEnd Point.
>>  
>> Just wanted to clarify one thing.
>>  
>> If we have a XBEAN "A" which creates new MessageExchange and route a
>> message
>> to XBEAN "B".
>>  
>> XBEAN "B" creates another MesageExchange and route it to XBEAN "C"
>> asynchronously and immediately send "Done" asynchronously on the reverse
>> MessageExchange for XBEAN "A".
>>  
>> XBEAN "C" does some job and send "DONE" asynchronously on the reverse
>> MessageExchange for XBEAN "B"
>>  
>> Do you think this implementation (assuming there are no errors in the
>> flow
>> at runtime) can lead to servicemix being hung and stops responding to
>> requests (may be due to some memory leak or something else).
>> please advice.
>> 
>> 
>> ---- -------------------------
>> One of my peers responsed by saying:
>> 
>> The only thing I can think off is is A & B are listening to DONE messages
>> or
>> not. B & C send DONE is fine – but that just puts these messages on the
>> bus.
>> It is responsibility og A & B to pick it up from the bus. If they don’t
>> pick
>> it up – then those messages will remain on the bus – and there is a limit
>> to
>> number of messages on the bus. As soon as this limit is reached – no
>> component is able to send messages on the bus and it will appear as
>> ServiceMix has hanged & stopped responding.
>> 
>> ---------------------------------
>> 
>> Can anybody provide inputs on this.
>> as to how we can pick "Done" messages in the XBEANs and resolve this
>> issue
>> 
>> regards
>> tarandeep
> 
> 
> -- 
> Thomas Termin
> _______________________________
> blue elephant systems GmbH
> Wollgrasweg 49
> D-70599 Stuttgart
> 
> Tel    :  (+49) 0711 - 45 10 17 676
> Fax    :  (+49) 0711 - 45 10 17 573
> WWW    :  http://www.blue-elephant-systems.com
> Email  :  Thomas.Termin@blue-elephant-systems.com
> 
> blue elephant systems GmbH
> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> Registergericht : Amtsgericht Stuttgart, HRB 24106
> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ServiceMix-Hangs-tp18465304p18482024.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: ServiceMix Hangs

Posted by Thomas Termin <tt...@blue-elephant-systems.com>.
I would definitly say that there is an mistake in your message exchange
handling. We had the same some time ago but could solve it. I can't see
what you exactly do in your code. Is it InOnly, InOut or whatever. Do
you check the state always?

Cheers
Thomas

taran wrote:
> HI All,
>  
> We have a JBI component deployed on servicemix.We're facing an issue that
> after using this JBI component for some requests, ServiceMix hangs and stops
> responding to further requests at HTTPEnd Point.
>  
> Just wanted to clarify one thing.
>  
> If we have a XBEAN "A" which creates new MessageExchange and route a message
> to XBEAN "B".
>  
> XBEAN "B" creates another MesageExchange and route it to XBEAN "C"
> asynchronously and immediately send "Done" asynchronously on the reverse
> MessageExchange for XBEAN "A".
>  
> XBEAN "C" does some job and send "DONE" asynchronously on the reverse
> MessageExchange for XBEAN "B"
>  
> Do you think this implementation (assuming there are no errors in the flow
> at runtime) can lead to servicemix being hung and stops responding to
> requests (may be due to some memory leak or something else).
> please advice.
> 
> 
> ---- -------------------------
> One of my peers responsed by saying:
> 
> The only thing I can think off is is A & B are listening to DONE messages or
> not. B & C send DONE is fine – but that just puts these messages on the bus.
> It is responsibility og A & B to pick it up from the bus. If they don’t pick
> it up – then those messages will remain on the bus – and there is a limit to
> number of messages on the bus. As soon as this limit is reached – no
> component is able to send messages on the bus and it will appear as
> ServiceMix has hanged & stopped responding.
> 
> ---------------------------------
> 
> Can anybody provide inputs on this.
> as to how we can pick "Done" messages in the XBEANs and resolve this issue
> 
> regards
> tarandeep


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle