Solved

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

Posted on 2009-05-03
5
1,602 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
There are numerous questions about how to setup an IBM HTTP Server to be administered from WebSphere Application Server administrative console. I do hope this article will wrap things up and become a reference for this task. You need three things…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
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:

863 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

26 Experts available now in Live!

Get 1:1 Help Now