Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: 1.4.0
-
Fix Version/s: 1.5.0
-
Component/s: camel-cxf
-
Labels:None
-
Environment:
operating system: Red Hat Enterprise Linux AS release 3
Hardware:HP PROLIANT BL460c ,4Core CPU, 4G Memory
software plaform: apache-camel-1.4.0
Description
I develop an application on camel.It's routing logic as follows:
<route>
<from uri="cxf:bean:routerEndpoint" />
<try>
<process ref="ipValidateProcessor" />
<choice>
<when>
<!-- First predicate -->
<el>${in.headers.IP_VALIDATE_RESULT == 'true'}</el>
<to uri="cxf:bean:serviceEndpoint" />
<process ref="responseProcessor" />
</when>
<otherwise>
<process ref="invalidIPProcessor" />
</otherwise>
</choice>
<catch>
<exception>com.aspire.archtype.camel.exception.AppException</exception>
<process ref="sreExceptionHandler"></process>
</catch>
</try>
</route>
I do a pressure testing on this application with LoadRunner.
My test case is as follows:
1. loadrunner send a reqeust
2. server receive the request, and then forward it to IPValidateProcessor
3. IPValidateProcessor set exchange.getIn().setHeader("IP_VALIDATE_RESULT", "true");
4. do <to uri="cxf:bean:serviceEndpoint" />
5. do <process ref="responseProcessor" />
6. end
I only want to test the <when> clause in the routing logic.
When only one virtual user runs the test case once, it runs ok.
But when have 30 virtual users concurrent run for 1 minute, some of the transactions run into <otherwise> clause.I found that they run into <otherwise> because in.headers.IP_VALIDATE_RESULT is null.
I don't now why, the same requests, most run into <when> clause, few run into <otherwith> clause?