Solved

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

Posted on 2009-05-03
5
1,604 Views
Last Modified: 2013-12-15
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
Comment
Question by:mrjoltcola
  • 2
  • 2
5 Comments
 
LVL 92

Expert Comment

by:objects
ID: 24292137
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
 
LVL 40

Author Comment

by:mrjoltcola
ID: 24292194
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
 
LVL 27

Assisted Solution

by:rrz
rrz earned 50 total points
ID: 24292250
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
 
LVL 92

Accepted Solution

by:
objects earned 450 total points
ID: 24292534
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
 
LVL 40

Author Comment

by:mrjoltcola
ID: 24292565
>>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

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Application launch issue with Apache Tomcat 5 40
jar file executable 12 51
why cannot we forward request once the response is committed 2 42
java jdbc batch example 8 29
This exercise is about for the following scenario: Dmgr and One node with 2 application server. Each application server contains it owns application. Application server name as follows server1 contains app1 server2 contains app1 Prereq…
Upgrading Tomcat – There are a couple of methods to upgrade Tomcat is to use The Apache Installer is to download and unzip and run the services.bat remove|install Tomcat6 Because of the App that we are working with, we can only use Tomcat 6.…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now