Faster Eclipse / JBoss or Tomcat development station - quad-core, SSD ?

A large portion of my time and my developers' time is spent in Eclipse, working on fairly large Java / EE projects deploying to Tomcat or JBoss (and REPEATEDLY restarting our local app servers for code changes).

I am convinced that a lot of the time spent building and/or booting JBoss could be reduced with a Solid State Disk, but I am curious if anyone else here has found that out. I have a SAS 15k RPM drive, which is as fast as I can get, but I am not satisfied with 18-20 second JBoss boot times and 60 second workspace rebuilds, when I have 4GB RAM and 3Ghz+ Core 2 Extreme processors.

So, anyone here have any ideas about building a new PC tuned specifically for complex Java projects? I know a good deal about hardware, but since the type of hardware I am considering is expensive, I'm nervous about dumping 3k into a test station before finding out how effective it is.

I am thinking:
1) Quad core might help? How multithreaded is Eclipse build process?
2) SSD may help, and I am hoping someone here is running SSD, especially with a RAID config.

LVL 40
mrjoltcolaAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
objectsConnect With a Mentor Commented:
hardware will give you some improvements, but it doesn't sound like you'll get the improvement you're after. I use an oct core box for development and I get great performance but starting up containers is still going to take time. Hopefully this will improve ove the next few years as more things are written to take full advantage of running on multi core systems.

Lots of unit/components tests can be a good way to reduce the amount of times you need to restart the container as it allows you to test your code outside the container.

As rrz mentions, you can make changes without having to restart the server. Though I have found this a little unreliable in practice.

> 2) We do use Tomcat on non JEE projects

I don't think of tomcat as a light container, perhaps try jetty or resin

0
 
objectsCommented:
doubt you'll get any huge improvements by changing your hardware. May be better to instead look at your development process, for example running container from within eclipse or using a lighter container during development.

0
 
mrjoltcolaAuthor Commented:
1) I am talking about the container inside Eclipse, ie a local server configuration
2) We do use Tomcat on non JEE projects
3) I am stuck with several large EJB 1/2 projects that require a heavier container, though I am trying slowly to port them to Spring to get away from that.

Do you have any suggestions? I'm open to any improvements, hardware, software or process.
0
 
rrzConnect With a Mentor Commented:
This might a silly question.  But did you use the attribute ,
reloadable="true"  
in your <context> tag   ?  
http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
0
 
mrjoltcolaAuthor Commented:
>>As rrz mentions, you can make changes without having to restart the server. Though I have found this a little unreliable in practice.

We have as well. Things don't get reloaded, (struts configs, action / controller changes, etc.) but after a reboot or full redeploy, magically they are correct. We use MyEclipse for the JEE projects, and by default we use change-and-go support as much as possible, and reload when the IDE tells us to, or when something just doesn't apply correctly. It can get frustrating not determining why something does not apply, to reload 2-3x and then find a full-clean/rebuild fixes it.

Thanks, I will try Jetty on my non-JEE projects, I have a friend who uses it.

As far as the JEE stuff, I don't know what other options I have besides porting away from the JEE dependencies.
0
All Courses

From novice to tech pro — start learning today.