views:

1973

answers:

6

We deploy and debug a Jboss Seam 2.0 EAR app from within eclipse, booting it on Jboss AS 4.2.2. Right now we need to reboot it every time we change the message bundle, pages.xml, components.xml, or the model, which takes up to 45 seconds.

Is it possible to include aforementioned files in hot deployment, and what are the options for boosting boot speeds?

For a frame of reference, we work on Intel quad core 6600's or better, with at least 4GB of ram.

Edit: I'm looking for ways to improve both boot speed (thats the 45 seconds) besides hot deploying message bundle, pages.xml, components.xml etc.

A: 

What is it doing during those 45 seconds? If it is loading data from the hard drive then you could invest in a faster one. Non-SSD Hard drives are still a bottleneck these days. Although the time points out to some other issue...

I think it is best for you to open (or look for) an issue at:
https://jira.jboss.org/jira/browse/JBSEAM

(Note: For posting issues you need to login first.)

TomWij
+3  A: 

This has been an outstanding issue for Seam for ages now : https://jira.jboss.org/jira/browse/EJBTHREE-1096

It's not a trick - more a method of working - but I have all of my UI code (page handlers etc) as POJOs so that they can be easily hot-deployed. Any more serious business logic I put in SLSB/SFSB and unit test them thoroughly so hopefully I have fewer deploys when testing the application via the UI.

Currently pages.xml can be hot deployed. I've read some solutions for reloading the message bundle but it's never bothered me enough to warrant further investigation.

Damo
A: 

I've sped up boot time by moving to a war and stripping Jboss to a bare minimum (Since I'm only using seam POJOs and not EJBs).

Daan van Yperen
+1  A: 

When you say 'reboot' it sounds like you mean 'shut-down and re-start JBoss'.

You only have to force JBoss to reload the application, by touching the file (for an EAR or WAR archive) or the deployment descriptor (app.ear/META-INF/application.xml or app.war/WEB-INF/web.xml) for an exploded archive.

Reloading the Seam application EAR takes about 15 seconds on my machine, while starting JBoss takes about 30 seconds excluding shut-down but including starting the Seam application.

If you do want to restart JBoss, you can probably make it start faster by removing components you do not need in your development environment, such as JBossHA (high availability and clustering).

Peter Hilton
A: 

Hi everyone, I presented on the blog how to speed up Seam debug in Eclipse. Post is here: Speed up JBoss Seam debug

Mariusz Kumor
+1  A: 

Since using JRebel with JBoss I have saved a lot of time. http://www.zeroturnaround.com/jrebel/

It is not free but imho it is one of the tools that is worth the money and saves a lot of time restarting, redeploying an app after only a small change.

E.g. it reloads messages.properties.

Guus