This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one for details.
I'm having a JSP which is full of tags that it calls. A typical call count would be 70-150. So, the JSP has nothing but (custom) tags inside it.
When I hit it for the first time, jsp gets compiled and .class is created. When WAS goes to load that file it takes around 15 mins to load the stuff.
When response comes back, we get proper page rendered in browser, which scales ok even for 500 users.
Here are some findings.
1) Such performance issue is for first time loading of custom tags jsp. Second request onwards response is in a flash.
2) It takes around 20 mins to load the jsp class files + any other required class files. (.class is already compiled.)
3) Issue pops back again when we restart server. So compilation is out of question. The loading is still the issue.
4) It doesn't do any heavy duty stuff in code, just simple UI formation stuff.
As we know a tag instance would be created in method local scope, so all tags would be recreated and executed on each request. We can change this with tag page pooling to instantiate tag at instance level in generated jsp,
still it's not giving any load time improvements.
In my experience I've noted that if you have equiv. jsp methods or helper methods instade of custom tags, it works much much faster.
Do you think it's possible to optimize this or I better move to simple method based solution?