Petals SE EIP

Scatter-Gather: It it not needed to send sub-exchanges once the incoming exchange is ended

Details

  • Type: Improvement Request Improvement Request
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 2.10.0
  • Fix Version/s: 2.11.0
  • Component/s: Scatter-Gather
  • Security Level: Public
  • Description:
    Hide

    With pattern 'Scatter-Gather', if an error or a fault is returned by a service provider consumed, a response can be directly returned and interrupting the pattern process. In this case it is not needed to invoked service providers not already invoked. Service providers consumed must be invoked only if the current pattern process instance is not terminated.

    Otherwise, the following error occurs because the incoming message was returned and the component does not own it:

    java.lang.IllegalStateException: The component does not owns the MessageExchange
    	at org.ow2.petals.jbi.messaging.exchange.MessageExchangeWrapper.checkComponentOwnsExchange(MessageExchangeWrapper.java:282)
    	at org.ow2.petals.jbi.messaging.exchange.MessageExchangeWrapper.getRole(MessageExchangeWrapper.java:161)
    	at org.ow2.petals.component.framework.message.ExchangeImpl.getRole(ExchangeImpl.java:479)
    	at org.ow2.petals.component.framework.message.ExchangeImpl.isConsumerRole(ExchangeImpl.java:499)
    	at org.ow2.petals.component.framework.listener.AbstractListener.preSend(AbstractListener.java:600)
    	at org.ow2.petals.component.framework.listener.AbstractListener.send(AbstractListener.java:556)
    Show
    With pattern 'Scatter-Gather', if an error or a fault is returned by a service provider consumed, a response can be directly returned and interrupting the pattern process. In this case it is not needed to invoked service providers not already invoked. Service providers consumed must be invoked only if the current pattern process instance is not terminated. Otherwise, the following error occurs because the incoming message was returned and the component does not own it:
    java.lang.IllegalStateException: The component does not owns the MessageExchange
    	at org.ow2.petals.jbi.messaging.exchange.MessageExchangeWrapper.checkComponentOwnsExchange(MessageExchangeWrapper.java:282)
    	at org.ow2.petals.jbi.messaging.exchange.MessageExchangeWrapper.getRole(MessageExchangeWrapper.java:161)
    	at org.ow2.petals.component.framework.message.ExchangeImpl.getRole(ExchangeImpl.java:479)
    	at org.ow2.petals.component.framework.message.ExchangeImpl.isConsumerRole(ExchangeImpl.java:499)
    	at org.ow2.petals.component.framework.listener.AbstractListener.preSend(AbstractListener.java:600)
    	at org.ow2.petals.component.framework.listener.AbstractListener.send(AbstractListener.java:556)
  • Environment:
    -

Activity

People

Dates

  • Created:
    Wed, 30 Jan 2019 - 15:31:21 +0100
    Updated:
    Thu, 31 Jan 2019 - 10:49:13 +0100
    Resolved:
    Wed, 30 Jan 2019 - 15:35:46 +0100