Hi, Here I have attached the changed code for the suggested solution (using a regex as the key). I ran some load tests and the results are listed below.
No of Threads Without the fix (tps) With the fix (tps) 1 410 315 5 2010 1900 100 6260 6200 Is it OK to proceed with this fix? Thanks On Thu, Dec 19, 2013 at 7:37 AM, Chanika Geeganage <[email protected]> wrote: > Hi Sameera, > > getConstantFromHTTPLocation method in [1] is used to maintain the map in > deployment time and getOperationFromHTTPLocation method is called when you > invoke the rest service in [2] > > [1] > https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/dependencies/axis2/1.6.1-wso2v10/modules/kernel/src/org/apache/axis2/wsdl/WSDLUtil.java > > [2] > https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/dependencies/axis2/1.6.1-wso2v10/modules/kernel/src/org/apache/axis2/dispatchers/HTTPLocationBasedDispatcher.java > > Thanks > > > On Thu, Dec 19, 2013 at 12:51 AM, Sameera Jayasoma <[email protected]>wrote: > >> Hi Chanika, >> >> Can you please gimme me some pointers to the relevant code blocks which >> are responsible for this situation? >> >> Thanks, >> Sameera. >> >> >> On Wed, Dec 18, 2013 at 3:29 PM, Chanika Geeganage <[email protected]>wrote: >> >>> Hi, >>> >>> This issue was come across when we invoke a rest resource deployed in >>> DSS. According to the current implementation it fails to delegate different >>> requests for same base URL. For an example lets say we want to have >>> following resources in the dataservice config >>> >>> products/{id} >>> products/{id}/name/{name} >>> >>> According to the current implementation it maintains a map to keep the >>> resource info in the deployment time. It keeps a string of the HTTP method >>> + the resource name as the key and the relevant axis2 operation as the >>> value. Therefore in the example both resources having the same key and the >>> value is replaced by the last one. >>> >>> So as a solution, a regex for the resource is kept in the map as the >>> key, and when we invoke the resource it compares the regex with the request >>> url. But this will hit a performance issue, as we have to compile all regex >>> in the map each time we invoke resource. >>> >>> Any input regarding this is appreciated. >>> >>> Thanks >>> -- >>> Best Regards.. >>> >>> Chanika Geeganage >>> Software Engineer >>> WSO2, Inc.; http://wso2.com >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Sameera Jayasoma, >> Architect, >> >> WSO2, Inc. (http://wso2.com) >> email: [email protected] >> blog: http://sameera.adahas.org >> twitter: https://twitter.com/sameerajayasoma >> flickr: http://www.flickr.com/photos/sameera-jayasoma/collections >> Mobile: 0094776364456 >> >> Lean . Enterprise . Middleware >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Best Regards.. > > Chanika Geeganage > Software Engineer > WSO2, Inc.; http://wso2.com > > -- Best Regards.. Chanika Geeganage Software Engineer WSO2, Inc.; http://wso2.com
axis2_changes
Description: Binary data
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
