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-4646

When sync endpoint and disableTempDesintations are used together JMSMessageDispatcher should return null rather than NullPayload

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

Details

  • Type: Improvement Improvement
  • Status: Reopened Reopened
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: 2.2.3 (EE only)
  • Fix Version/s: 2.2.4 (EE only)
  • Component/s: Transport: JMS
  • Labels:
    None
  • User impact:
    Medium
  • Similar Issues:
    None

Description

This is because in this case no response is expected and therefore the service should behave in the an "outbound aysnc" mode and return the result of component inovcation and not the NullPayload response from outbound.

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

Attachments

  1. Java Source File
    JmsResponseTransformerTestCase.java
    21/Dec/09 11:31 AM
    0.8 kB
    Puneet Gupta
  2. XML File
    responsetransformer-test.xml
    21/Dec/09 11:31 AM
    2 kB
    Puneet Gupta

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Travis Carlson added a comment - 09/Dec/09 11:55 AM

JmsTemporaryReplyToTestCase is failing for WMQ after the change.

Show
Travis Carlson added a comment - 09/Dec/09 11:55 AM JmsTemporaryReplyToTestCase is failing for WMQ after the change.
Hide
Permalink
Travis Carlson added a comment - 10/Dec/09 06:49 AM

Needed to update transports/wmq/src/test/resources/integration/jms-temporary-replyTo.xml in EE which overrides the CE config

https://dev.ee.mulesource.com/fisheye/changelog/products/?cs=17179

Show
Travis Carlson added a comment - 10/Dec/09 06:49 AM Needed to update transports/wmq/src/test/resources/integration/jms-temporary-replyTo.xml in EE which overrides the CE config https://dev.ee.mulesource.com/fisheye/changelog/products/?cs=17179
Hide
Permalink
Puneet Gupta added a comment - 18/Dec/09 04:38 PM

We changed all of the dispatchers to return NullPayload instead null. returning null short circuits all processing. No response transformers of further endpoints are processes. A endpoint should never return null. If this is breaking a test case, check the test case or code.

Dan F spent a lot of time fixing this for Atlas. please dont change stuff and break a lot of other functionality. I am at POC this is messing me up.

Show
Puneet Gupta added a comment - 18/Dec/09 04:38 PM We changed all of the dispatchers to return NullPayload instead null. returning null short circuits all processing. No response transformers of further endpoints are processes. A endpoint should never return null. If this is breaking a test case, check the test case or code. Dan F spent a lot of time fixing this for Atlas. please dont change stuff and break a lot of other functionality. I am at POC this is messing me up.
Hide
Permalink
Travis Carlson added a comment - 18/Dec/09 06:28 PM

It looks like the change which Puneet is talking about was yours Dan:
http://fisheye.codehaus.org/changelog/mule/?cs=16181

And it seems to be very intentional based on the in-line comment:

// In this case a response was never expected so we return null and not NullPayload.
// This generally happens when dispatch is used for an asynchronous endpoint but can also occur when send() is used
// and disableTempDestinations is set.
return returnOriginalMessageAsReply ? new DefaultMuleMessage(msg) : null;

Show
Travis Carlson added a comment - 18/Dec/09 06:28 PM It looks like the change which Puneet is talking about was yours Dan: http://fisheye.codehaus.org/changelog/mule/?cs=16181 And it seems to be very intentional based on the in-line comment: // In this case a response was never expected so we return null and not NullPayload. // This generally happens when dispatch is used for an asynchronous endpoint but can also occur when send() is used // and disableTempDestinations is set. return returnOriginalMessageAsReply ? new DefaultMuleMessage(msg) : null;
Hide
Permalink
Daniel Feist added a comment - 20/Dec/09 10:55 AM

This is just for a single specific case after discussions with AP.

Show
Daniel Feist added a comment - 20/Dec/09 10:55 AM This is just for a single specific case after discussions with AP.
Hide
Permalink
Puneet Gupta added a comment - 21/Dec/09 11:32 AM

It is a regression. Run the attached test case against 2.4 and then against 2.5 snapshot. If regressions don't matter then I probably have to start using my own branch and build my own distributions.

Show
Puneet Gupta added a comment - 21/Dec/09 11:32 AM It is a regression. Run the attached test case against 2.4 and then against 2.5 snapshot. If regressions don't matter then I probably have to start using my own branch and build my own distributions.
Hide
Permalink
Andrew Perepelytsya added a comment - 21/Dec/09 11:36 AM

No it is not. If you want the original message returned with JMSMessageID set, there's a returnOriginalMessage or similar flag for jms to do that. Check with Travis C for details.

Show
Andrew Perepelytsya added a comment - 21/Dec/09 11:36 AM No it is not. If you want the original message returned with JMSMessageID set, there's a returnOriginalMessage or similar flag for jms to do that. Check with Travis C for details.
Hide
Permalink
Puneet Gupta added a comment - 21/Dec/09 12:02 PM

I dont want the original message, I want the message from my transformer. I did not have to use this flag before and it used to work. why would using a newer version require me to change config. That is a regression cause it breaks a users existing code.

Show
Puneet Gupta added a comment - 21/Dec/09 12:02 PM I dont want the original message, I want the message from my transformer. I did not have to use this flag before and it used to work. why would using a newer version require me to change config. That is a regression cause it breaks a users existing code.
Hide
Permalink
Daniel Feist added a comment - 28/Dec/09 09:22 PM

This is a minor regression compared to 2.2.3 yes, but it preserves the 2.2.2 behavior in this case where a response is not expected. In the cases where a response is expected NullPayload is returned and the previous improvement remains in place.

PG/AP: Maybe you can discuss this between you a bit?

Show
Daniel Feist added a comment - 28/Dec/09 09:22 PM This is a minor regression compared to 2.2.3 yes, but it preserves the 2.2.2 behavior in this case where a response is not expected. In the cases where a response is expected NullPayload is returned and the previous improvement remains in place. PG/AP: Maybe you can discuss this between you a bit?

People

  • Assignee:
    Daniel Feist
    Reporter:
    Daniel Feist
Vote (0)
Watch (2)

Dates

  • Created:
    03/Dec/09 04:11 PM
    Updated:
    28/Dec/09 09:22 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.