views:

67

answers:

2

I'd like to improve the performance of my Seam apps and JBoss appserver, particularly by removing things that aren't necessary in the standard configuration. Ideally, I'd like to be able to run it using the "minimal" profile. Can anyone give me any guidance as to what is needed to run a Seam app using "minimal"? Here are the kind of things my app requires:

  • JPA, using Hibernate with a PostgreSQL backend
  • EJB3
  • JSF (RichFaces/Facelets)
  • E-mail, eventually, although not required at this particular moment

I'll be developing my app using JBoss Tools on Eclipse, so I would also need anything that is required by the tools for development and deployment. I've found that the default configuration just has too many additional components and features installed by default, and that greatly affects performance when I'm trying to develop. Any help you can give would be great! Thanks!

+2  A: 

If you want to improve performance of Seam then you should utilize the functionality in Seam to do that. If you create a minimal setup of JBoss, that mostly improves the startup time.

If you are interested in slimming JBoss for Seam, you can have a look here
This should cover JBoss 4.x and 5.x.

If you want to speed up your Seam apps, you should learn to use @ByPassinterceptors and utilize @Factory and @Unwrap more. Dan Allen has a great 2 part post that covers how you can speed up your Seam apps if you are using JSF. You can find the articles here

For development
If you really want to boost development speed, you should definitely use JRebel. This prevents so many restarts and hooks into the JVM directly to hot-deploy even your EJB's(!). @Arbi has a great post that shows how you can install JRebel here

This should be a good start....

Shervin
Thanks! The JBoss slimming link was exactly what I was looking for, and the Seam performance articles were an added bonus.
Shadowman
+1  A: 

If you can't justify JRebel's cost try out FakeReplace

http://code.google.com/p/fakereplace/

It's not as reliable as JRebel, but it works for the majority of code changes.

bravocharlie
@bravocharlie Interesting (+1)
Arthur Ronald F D Garcia