• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1637
  • Last Modified:

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.

0
mrjoltcola
Asked:
mrjoltcola
  • 2
  • 2
2 Solutions
 
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
 
rrzCommented:
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
 
objectsCommented:
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
 
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now