JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-5721

setStopFurtherProcessing(true) is not working with flows

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 3.2.x
  • Fix Version/s: None
  • Component/s: Core: API
  • Labels:
    None
  • User impact:
    Medium
  • Similar Issues:
    None

Description

eventContext.setStopFurtherProcessing(true) does not seem to be working with flows. As it is in the attachment, pattern_In-Optional-Out_Out-Only-Async-Router-flow.xml doesn't work when tested with InOptionalOutOutOnlyAsyncRouterTestCase.java because processing continues. A filter can be used to pass the test case:

<mule:message-filter>
<mule:not-filter>
<mule:payload-type-filter expectedType="org.mule.transport.NullPayload"></mule:payload-type-filter>
</mule:not-filter>
</mule:message-filter>

  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. Java Source File
    InOptionalOutOutOnlyAsyncRouterTestCase.java
    12/Aug/11 07:16 AM
    3 kB
    Justin Calleja
  2. XML File
    pattern_In-Optional-Out_Out-Only-Async-Router-flow.xml
    12/Aug/11 07:16 AM
    4 kB
    Justin Calleja
  3. XML File
    pattern_In-Optional-Out_Out-Only-Async-Router-service.xml
    12/Aug/11 07:16 AM
    4 kB
    Justin Calleja

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Daniel Feist added a comment - 25/Aug/11 10:11 PM

I thought we no longer supported this for flows, but maybe we never documented this. Of course the recommended approach is to use filters.

Show
Daniel Feist added a comment - 25/Aug/11 10:11 PM I thought we no longer supported this for flows, but maybe we never documented this. Of course the recommended approach is to use filters.
Hide
Permalink
Pablo Kraan added a comment - 13/Jan/12 11:10 AM

Dan, what is the status of this? Can you confirm that is working as designed and just needs documentation?

Show
Pablo Kraan added a comment - 13/Jan/12 11:10 AM Dan, what is the status of this? Can you confirm that is working as designed and just needs documentation?
Hide
Permalink
Daniel Feist added a comment - 16/Jan/12 10:36 AM

This is still in the API and is not deprecated. It is supported for Services still, but does not work for flows.

In flows if you need to stop processing you should use a filter. We could make this work though, we'd check for this in the MessageProcessorChain, this would allow non-intercepting processors (e.g. components) to stop processing.

Show
Daniel Feist added a comment - 16/Jan/12 10:36 AM This is still in the API and is not deprecated. It is supported for Services still, but does not work for flows. In flows if you need to stop processing you should use a filter. We could make this work though, we'd check for this in the MessageProcessorChain, this would allow non-intercepting processors (e.g. components) to stop processing.
Hide
Permalink
Mike Schilling added a comment - 01/Feb/12 07:08 PM - edited

In a service, the stopFurtherMessageProcessing flag is checked at two points only:

1. After the inbound section
2. Before the outbound section

Flows aren't delimited so nicely. If we had the ability to check after every MP,that might make sense, but we don't (as Dan points out, we'd treat intercepting MPs differently from non-intercepting MPs). I think we should disallow this for non-services, and issue a warning if it's called on an event associated with a non-service.

Show
Mike Schilling added a comment - 01/Feb/12 07:08 PM - edited In a service, the stopFurtherMessageProcessing flag is checked at two points only: 1. After the inbound section 2. Before the outbound section Flows aren't delimited so nicely. If we had the ability to check after every MP,that might make sense, but we don't (as Dan points out, we'd treat intercepting MPs differently from non-intercepting MPs). I think we should disallow this for non-services, and issue a warning if it's called on an event associated with a non-service.
Hide
Permalink
Mike Schilling added a comment - 07/Mar/12 12:52 PM

It's also unclear to me what the desired behavior is. In a one-way flow, for instance, should

1. All message processors be skipped
2. All message processors other than outbound endpoints be skipped
3. All message processors other than the final outbound endpoint (if any) be skipped

Show
Mike Schilling added a comment - 07/Mar/12 12:52 PM It's also unclear to me what the desired behavior is. In a one-way flow, for instance, should 1. All message processors be skipped 2. All message processors other than outbound endpoints be skipped 3. All message processors other than the final outbound endpoint (if any) be skipped
Hide
Permalink
Daniel Feist added a comment - 16/Apr/12 09:26 PM

Reducing priority to major. Filters not work correctly anywhere after fix for MULE-6146.

Show
Daniel Feist added a comment - 16/Apr/12 09:26 PM Reducing priority to major. Filters not work correctly anywhere after fix for MULE-6146.

People

  • Assignee:
    Daniel Feist
    Reporter:
    Justin Calleja
Vote (0)
Watch (0)

Dates

  • Created:
    12/Aug/11 07:11 AM
    Updated:
    16/Apr/12 09:26 PM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.