2014-12-29 17:54 GMT+01:00 Thim Anneessens <t.anneess...@ictjob.be>: > Hi, > > I use JRebel and have a performance issue some of the time. Some request > take 2sec instead of 100ms for no apparent reasons. > > After some research I found out that this was only happening when JRebel > was enabled and that it did not happen with version 2.3.16.3. > > So I searched for the cause and found that a little bit of code was > removed between the 2 versions and leading to a major performance > difference. > Removed code > PackageBasedActionConfigBuilder.buildUrlSet l.461 (v 2.3.16.3) : > > if (includeJars == null) { > urlSet = urlSet.exclude(".*?\\.jar(!/|/)?"); > } else { > ... > } > > The removed code made the size of urlSet go from 140 to 3. This urlSet > will latter be used to explore and find Framework relevant resources hence > the performance hit. > > *Note:* I probably would not have detected the issue if I was not using > JRebel but this should in all logic impact every Struts user since this > code impacts server startup. I speculate that in my case it adds about 2 > seconds to server startup which is a pity. > > Questions: > > Why was this removed? Could you make this behavior configuration sensitive > rather than altogether gone? How can I work around it if at all possible? > I wanted simplify it, check the diff, but looks like I made a mistake - feel free to register an issue and I will investigate it.
https://git-wip-us.apache.org/repos/asf?p=struts.git;a=blobdiff;f=plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java;h=f6a43a88cd4ca140defaf78928913a0155b9f89a;hp=b9b1a25dfd95dec702d5d4a2c930fdc91351788c;hb=dfb2bd3;hpb=f1861adff40e6c0784584cb8178db8c8eb0e04ec Regards -- Ćukasz + 48 606 323 122 http://www.lenart.org.pl/