views:

249

answers:

2

Currently I am using Websphere Admin console to update a war. I do the following three steps

  1. stop the application
  2. update
  3. start the application

As a part of the second step I am using the following option. I select the war from the local file system. This step takes around 10 minutes to complete.

alt text

I wanted to know weather it is the file transfer (http transfer to the server) which is taking time or the actual deployment that is taking time. Which logs to see to get that information?

PS: I have plans to write some Jython scripts to automate this task later.

A: 

I suspect the actual deployment is what takes a long time. When I used Websphere back in the EJB 1.0 days it had a fairly complicated deployment procedure that involved generating and compiling code. Is it possible that it's doing that for your JSPs? For me deploying a war file on JBoss takes a couple minutes, and a lot of that time is in application-specific startup code which goes to the database. We can see this through our logging framework which logs all database-commands and the execution time.

Mr. Shiny and New
A: 

Most of the time WebSphere is scanning your war and jars from WEB-INF folder for annotations (e.g. Java EE 5 and JAX-WS stuff). You can see that by taking a thread dump of the WebSphere process.

To speed things up you can exclude large 3rd party jars from scanning by adding Ignore-Scanning-Archives attrribute to META-INF/manifest.mf file in your war (you'll need latest fixpack too). For example:

Ignore-Scanning-Archives: spring-2.5.6.jar, log4j-1.2.14.jar
Eugene Kuleshov