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

Christophe DENEUX made changes - Wed, 30 Jan 2019 - 15:31:35 +0100
Field Original Value New Value
Status New [ 10000 ] Open [ 10002 ]
Priority Major [ 3 ]
Christophe DENEUX made changes - Wed, 30 Jan 2019 - 15:35:35 +0100
Status Open [ 10002 ] In Progress [ 10003 ]
Hide
Christophe DENEUX added a comment - Wed, 30 Jan 2019 - 15:35:46 +0100

Fixed in trunk

Show
Christophe DENEUX added a comment - Wed, 30 Jan 2019 - 15:35:46 +0100 Fixed in trunk
Christophe DENEUX made changes - Wed, 30 Jan 2019 - 15:35:46 +0100
Status In Progress [ 10003 ] Resolved [ 10004 ]
Fix Version/s 2.10.1 [ 10895 ]
Resolution Fixed [ 1 ]
Christophe DENEUX made changes - Wed, 30 Jan 2019 - 18:16:28 +0100
Description 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 i the current pattern process instance is not terminated. 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:
{code}
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)
{code}
Christophe DENEUX made changes - Thu, 31 Jan 2019 - 10:49:13 +0100
Component/s Scatter-Gather [ 10468 ]
Transition Status Change Time Execution Times Last Executer Last Execution Date
New New Open Open
14s
1
Christophe DENEUX
Wed, 30 Jan 2019 - 15:31:35 +0100
Open Open In Progress In Progress
4m
1
Christophe DENEUX
Wed, 30 Jan 2019 - 15:35:35 +0100
In Progress In Progress Resolved Resolved
11s
1
Christophe DENEUX
Wed, 30 Jan 2019 - 15:35:46 +0100

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