Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 3.2.0, 3.2.2 (EE only), 3.3 M1
-
Fix Version/s: 3.1.4 (EE only), 3.2.3 (EE only), 3.3.1
-
Component/s: Core: Properties
-
Labels:
-
Environment:
Using Eclipse mule IDE, Mule 3.2, Also 3.2.2 Studio! 3.2.1 Works. Also Broke in 3.3
-
User impact:High
-
Similar Issues:None
Description
The following flow loses the session properties that are set at entry:
<flow name="FrontierFlow">
<vm:inbound-endpoint exchange-pattern="request-response" path="FrontierRequest" />
<request-reply timeout="2000">
<jms:outbound-endpoint queue="frontier.destination" />
<jms:inbound-endpoint queue="frontier.price" />
</request-reply>
<append-string-transformer message=" Frontier"></append-string-transformer>
</flow>
-
Hide
- RequestReplyTestCase.zip
- 04/Apr/12 07:59 AM
- 7 kB
- German Solis
-
- pom.xml 13 kB
- src/main/app/mule-config.xml 3 kB
- src/main/java/.../requestreply/package.html 0.1 kB
- src/test/.../RequestReplyTestCase.java 1 kB
- src/.../requestreply-functional-test-config.xml 3 kB
-
- PATCH.java
- 23/Apr/12 02:53 PM
- 0.2 kB
- German Solis
-
- OutputRunwithMule3.2.txt
- 08/Nov/11 02:30 PM
- 34 kB
- Jameson Triplett
-
- OutputRunwithMule3.1.txt
- 08/Nov/11 02:30 PM
- 78 kB
- Jameson Triplett
-
Hide
- lab03to06.zip
- 08/Nov/11 02:30 PM
- 3.13 MB
- Jameson Triplett
-
- lab03to06/.classpath 8 kB
- lab03to06/.DS_Store 6 kB
- lab03to06/.muleide 0.1 kB
- lab03to06/.project 0.7 kB
- lab03to06/.../org.eclipse.jdt.core.prefs 0.3 kB
- lab03to06/.../org.maven.ide.eclipse.prefs 0.3 kB
- lab03to06/activemq-data/.../KahaDB/db-1.log 31.50 MB
- lab03to06/activemq-data/.../KahaDB/db.data 52 kB
- lab03to06/activemq-data/.../KahaDB/db.redo 48 kB
- lab03to06/activemq-data/.../KahaDB/lock 0.0 kB
- lab03to06/bin/.DS_Store 6 kB
- lab03to06/bin/com/.DS_Store 6 kB
- lab03to06/bin/com/mulesoft/.DS_Store 6 kB
- lab03to06/bin/com/.../course/.DS_Store 6 kB
- lab03to06/bin/com/.../course/labs/.DS_Store 6 kB
- lab03to06/.../SetupDatabaseNotificationListener.class 3 kB
- lab03to06/.../FileServingTransformer.class 1 kB
- lab03to06/.../OrderingTicketPriceComponent.class 1 kB
- lab03to06/.../RestSimpleTicketComponent.class 0.9 kB
- lab03to06/.../SimpleTicketPriceComponent.class 0.9 kB
- lab03to06/bin/.../TicketPriceService.class 0.4 kB
- lab03to06/.../TicketPriceServiceImpl.class 0.9 kB
- lab03to06/.../OrderingTicketPricesTransformer.class 2 kB
- lab03to06/bin/form.html 0.2 kB
- lab03to06/bin/mule-config.xml 7 kB
- lab03to06/.../MuleTicketLab3UnitTest.class 3 kB
- lab03to06/.../MuleTicketUnitLab2Test.class 2 kB
- lab03to06/bin/result.vm 0.2 kB
- lab03to06/derby.log 0.4 kB
- lab03to06/.../commons-collections-3.2.1.jar 562 kB
-
Hide
- essentialssolutionpart2.zip
- 06/Jul/12 02:36 PM
- 5.83 MB
- Jameson Triplett
-
- essentialssolutionpart2/.classpath 0.7 kB
- essentialssolutionpart2/.project 0.6 kB
- essentialssolutionpart2/.../org.eclipse.jdt.core.prefs 0.6 kB
- essentialssolutionpart2/.../db-1.log 31.50 MB
- essentialssolutionpart2/.../db.data 52 kB
- essentialssolutionpart2/.../db.redo 48 kB
- essentialssolutionpart2/.../lock 0.0 kB
- essentialssolutionpart2/derby.log 0.4 kB
- essentialssolutionpart2/.../EssentialsSolution2.mflow 53 kB
- essentialssolutionpart2/mule-project.xml 0.2 kB
- essentialssolutionpart2/pom.xml 11 kB
- essentialssolutionpart2/.../EssentialsSolution2.xml 9 kB
- essentialssolutionpart2/.../mule-app.properties 0.1 kB
- essentialssolutionpart2/.../mule-deploy.properties 0.1 kB
- essentialssolutionpart2/.../DeltaPriceComponent.java 0.6 kB
- essentialssolutionpart2/.../FileServingTransformer.java 0.9 kB
- essentialssolutionpart2/.../HtmlTransformer.java 0.9 kB
- essentialssolutionpart2/.../PriceComponent.java 0.6 kB
- essentialssolutionpart2/.../RESTPriceComponent.java 0.8 kB
- essentialssolutionpart2/.../SetupDatabaseNotificationListener.java 2 kB
- essentialssolutionpart2/.../SOAPPriceComponent.java 0.1 kB
- essentialssolutionpart2/.../SortComponent.java 1.0 kB
- essentialssolutionpart2/.../TicketPriceInterface.java 0.2 kB
- essentialssolutionpart2/.../activemq-all-5.5.1.jar 3.86 MB
- essentialssolutionpart2/.../derby-10.6.1.0.jar 2.50 MB
- essentialssolutionpart2/src/.../form.html 0.2 kB
- essentialssolutionpart2/.../log4j.properties 0.9 kB
-
- all-properties.xml
- 04/Nov/11 06:41 PM
- 2 kB
- Mike Schilling
Issue Links
Activity
I'm seeing the same behavior in 3.1 and 3.2 using the attached config:
Inbound, outbound, and invocation properties are dropped during message aggregation.
Session properties are preserved.
This is test java/org/mule/issues/PropertiesWithAllTestCase in mule-3.2.x and mule-3.x
I've added my project that this doesn't work with. Session properties are being erased.
There is output from the 3.1 version and the 3.2 version, same code.
The session properties are being lost at
<request-reply timeout="2000">
<jms:outbound-endpoint queue="frontier.destination" />
<jms:inbound-endpoint queue="frontier.price" />
</request-reply>
The session properties that are present before the router get overwritten by the (empty) set in the reply.
This is still happening in 3.2.2 (however it works in 3.2.1 )
I've attached a test case that reproduces this issue.
Running the following configuration
<flow name="flow1"> <http:inbound-endpoint address="http://localhost:8082/sprop" exchange-pattern="one-way"/> <message-properties-transformer scope="session"> <add-message-property key="foo" value="foo"/> </message-properties-transformer> <test:component logMessageDetails="true"/> <request-reply> <vm:outbound-endpoint address="vm://flow2"/> <vm:inbound-endpoint path="inbound"/> </request-reply> <test:component logMessageDetails="true"/> </flow> <flow name="flow2"> <vm:inbound-endpoint path="flow2"/> <test:component logMessageDetails="true"/> <message-properties-transformer scope="session"> <add-message-property key="bar" value="bar"/> </message-properties-transformer> <message-properties-transformer scope="outbound"> <add-message-property key="outbar" value="bar"/> </message-properties-transformer> </flow>
I am expecting to see 3 test component outputs, each one listing the Session properties. The sequence should be: {foo:foo}, {foo:foo}, {foo:foo, bar:bar}. I got the following results:
- on Mule 3.1.4 seems that the execution never comes back to flow1 after entering flow2. This is another issue (MULE-6238), but it is related since we can not check the properties behavior with this malfunction.
- on Mule 3.2.x works fine.
- on Mule 3.3.x works fine.
<flow name="flow1"> <http:inbound-endpoint address="http://localhost:8082/sprop" exchange-pattern="one-way"/> <message-properties-transformer scope="session"> <add-message-property key="foo" value="foo"/> </message-properties-transformer> <test:component logMessageDetails="true"/> <request-reply> <vm:outbound-endpoint address="vm://flow2"/> <vm:inbound-endpoint path="inbound"/> </request-reply> <test:component logMessageDetails="true"/> </flow> <flow name="flow2"> <vm:inbound-endpoint path="flow2"/> <test:component logMessageDetails="true"/> <message-properties-transformer scope="session"> <add-message-property key="bar" value="bar"/> </message-properties-transformer> <message-properties-transformer scope="outbound"> <add-message-property key="outbar" value="bar"/> </message-properties-transformer> </flow>
- on Mule 3.1.4 seems that the execution never comes back to flow1 after entering flow2. This is another issue (MULE-6238), but it is related since we can not check the properties behavior with this malfunction.
- on Mule 3.2.x works fine.
- on Mule 3.3.x works fine.
German Solis This made it into 3.2.2, should be working, also Saveli has confirmed.
The test fails for me in 3.2.2, AFAIK this is a regression since it works correctly in 3.2.1.
Did you test it in 3.2.2 or 3.2.x ?
The attached test:
RequestReplyTestCase.zip
It set a session property right before the request-reply, and then it try to access it right after, but the session prop is not available.
In 3.2.x the attached test failed. I changed the jms endpoint to vm endpoinds and all went fine, just as I posted before. Maybe jms connector is the problem?
Mule 3.3 Studio project. Session Properties still get lost on Request-Reply router.
This continues to be an issue but only in the case when the message received from the request-reply inbound endpoint does not included a MULE_SESSION instance.
Currently, properties are dropped on message aggregation. This behavior needs to be improved.