Agile Zone is brought to you in partnership with:

Meera has posted 70 posts at DZone. You can read more from them at their website. View Full User Profile

Free Book: JBoss in Action

  • submit to reddit
Published by: Manning
ISBN: 1933988029

Reviewer Ratings




Buy it now

One Minute Bottom Line

It is very simple to rate this book: everyone who uses JBoss AS should own and read a copy. The book is highly readable and with tons of working examples. The references at the end of each chapter are a real bonus.


This book is divided into four parts, containing 15 chapters and two appendices.

Part 1: The JBoss Application Server

If you are using JBoss than you can simply skip Chapter 1(Vote for JBoss). This chapter gets you up and running with JBoss by describing the directories and files that are part of JBoss AS, how to start and stop the server, and finally show how to deploy and undeploy a simple web application.

Chapter 2(Managing the JBoss Application Server) starts with a description of how JBoss application server is architected;the JBoss Microcontainer and JMX. Next, you will learn how each of these components are configured using its own configuration file, and how you can change these as well. Next, we get a closer look at a few of the management tools provided by JBoss like the JMX Console and twiddle. And finally, a look at some MBeans that provide helpful information,the MBeans that give the list of names in the JNDI namespace or a list of system properties.

Chapter 3(Deploying applications) is especially useful if you are encountering tons of deployment errors. This chapter starts with explaining how to deploy applications as well as services. Next, the most important section which you shouldn’t miss reading at all; understanding class loading. In this section, the authors start with a description of the class loaders, then go into class scoping, which enables the application server to differentiate among classes. Next in this section, a look at loader repositories which enable several class loaders to share or isolate classes. The next few sections cover common deployment errors like class not found exception, class cast exception and so on. The last section in this chapter is about configuring data sources and Hibernate archives.

If you are concerned about the security of your applications than Chapter 4(Securing applications) shows you everything you need to know about securing your applications. The authors discuss in detail the fundamental concepts behind application security, including authentication, authorization, and encryption and how they are implemented in JBoss AS. They also show you how to configure by demonstrating how you can access security data from a database, LDAP, or other security datastores.

Part 2: Application Services

If you are deploying web applications to JBoss than you must read Chapter 5(Configuring JBoss Web Server). It covers configuring web applications, JBoss web server, the key configuration files. Next, is configuring specific things in web applications like the URL paths, then the authors discussed JBoss Web Server connectors and how they’re used to allow client requests to come in over different protocols. In the next section the authors give us an overview of why web applications have different class loading rules and show us how to configure different web-specific class loading parameters. Next comes valves, another feature of JBoss Web Server, and finally the last section is all about configuring JavaServer Faces.

In chapter 4, the authors discussed about the fundamentals of JBoss security and showed you how to configure security domains and login modules. Chapter 6(Securing web applications)  explores the configuration files necessary to enable security, how to enable authentication and authorization for URLs relative to your application’s context path. And finally see how to enable secure communication for server authentication, mutual authentication, and client-certificate authentication.

If you are a huge fan of EJB's just like I am, than Chapter 7(Configuring enterprise applications) shows you how to structure, deploy, and configure EJB applications. Then, you will learn how to configure the application server, and finally also secure EJB applications.

In Chapter 8(JBoss Messaging), you’ll learn about configuring messaging. The chapter begins by describing JMS and how JBoss Messaging is architected. You will see an example of a message-driven EJB and a message-driven POJO. The authors show you how to use a database for message storage, how to define destinations, and how to configure authentication and authorization for those destinations.

If you are quite familiar with web services than you skip the first few sections of Chapter 9(Configuring Web Services) which introduces you to web services, shows you how to develop a simple web service. However, don't skip the next few sections which are quite interesting and cover topics such as JBossWS annotations, securing your web services using authorization and encryption.

Part 3: JBoss Portal

I did evaluate JBoss Portal sometime in 2006. So, I am not an expert in this specific area so I just skimmed over Chapters 10 and 11. These chapters provide a very basic introduction to JBoss Portal. So, I am just going to quote the topics covered in these two chapters:
  •     Creating a portlet using JSPs and JSTL
  •     Using the Admin portlet and the descriptor files to define portlet instances and portlet windows
  •     Using multiple instances within a portal
  •     Adding content to the CMS
  •     Configuring window appearance
  •     Setting up access control for portals, pages, and windows
  •     Creating a custom portal

Part 4: Going to Production

All the chapters in this section are important and very interesting. These chapters cover everything you will need to know when your application goes to production.

Chapters 12 and 13 are dedicated to clustering. Chapter 12(Understanding Clustering) begins with the fundamentals of clustering; It was interesting to set up a simple cluster as explained in this chapter and learn how to configure JGroups and JBoss Cache. Chapter 13 covers clustering as applied to Java EE specific application components and services like session EJB's and entities, HTTP session replication, and JNDI.

If you need to access and improve the performance of your application, than you need to read Chapter 14(Tunning the JBoss Application Server). In this chapters you will see ways to tune the hardware, operating system, database, JVM, application server, and of course your deployed application. There are also a few tips on how to interpret thread dumps to pinpoint performance issues within your code.

Chapter 15(Going to production) is the last chapter in this book which covers topics such as selecting a platform, running JBoss AS as a service, running multiple JBoss AS instances on the same machine. You will also learn how to remove services which are not required, secure the management applications, change the default data source, database, configuring the EJB3 timer service and precompile JSPs.

Appendix A: JNDI namespaces

In this appendix, the authors explore how JBoss does JNDI binding and how to generically bind your applications in JNDI, making them more portable across application servers.

Appendix B: Change is inevitable

To quote the authors
This appendix contains changes that came after CR2 and before the book went to the printer. Any changes after that will appear on the book’s website.
Published at DZone with permission of its author, Meera Subbarao.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Juraj Benko replied on Wed, 2009/01/14 - 4:30pm

We've been using JBoss AS for some time now in one of czech telecom operators first to run sms gateways, but since 4.2 version we were moving all messaging and frontends of charging b2b gateways to it and other mostly non-GUI projects. We are still quite happy with JBoss. I can't say we never had problems with it, but the support helped to sort them all out satisfactory. Thanks JBoss

Kamen Baykushev replied on Wed, 2009/01/14 - 4:47pm

Great job done by Red Hat. I hope the book would be something more than just the typical introduction guides...

John Lang replied on Wed, 2009/01/14 - 5:06pm

I am using JBoss during an evaluation phase, will be interesting to see if the book gives anything more than is already available in the community.

Zqudlyba Navis replied on Wed, 2009/01/14 - 5:19pm

I use JBoss as a server on the development PC.  However, in the deployed DEV/SIT/UAT/Prod environments, I use WebSphere.  The reason I use JBoss for development on my local PC is because it is light weight and the start up time is awesome, compared to WebSphere (especially useful if you have to restart the server 10 times a day).

Philon Tervin replied on Wed, 2009/01/14 - 5:22pm

I managed several AS 4 stations. Not that easy to configure but working okay. I'd love to check out more documentation and tipps on administering a JBoss system. The portal always was a topic, I'd like to play with.

Tim Astle replied on Wed, 2009/01/14 - 5:42pm

We use JBoss 4 in combination with JBPM in simple workflow applications.  It does its job well.

Kevin Williams replied on Wed, 2009/01/14 - 6:11pm

I have experience working with weblogic, Jboss, Orion, Oracle Application Server and a little Weblogic.  JBoss is always my first choice whenever I need a little more than what tomcat offers.



Sebastian Otaegui replied on Wed, 2009/01/14 - 6:29pm

We have migrated all of our applications from WAS5/6.1 to JBoss 4.3


It's nice to get rid of IBM.

Borja Ronda replied on Wed, 2009/01/14 - 7:04pm

I am new to JBoss and is a great opportunity to learn.


Thanks a lot 

Sebastian Otaegui replied on Wed, 2009/01/14 - 7:12pm in response to: Stefan Krause

[quote=sk45235]ls that no one wants to use)

The only downside shows up when you sysadmin asks you which ports exactly must stay open in the firewall ;-)



Any decent sysadmin should know how to google and find out which ports are used by jboss as

Ernesto Badillo replied on Wed, 2009/01/14 - 7:17pm

I worked on an experimental project with ejb3 about one year ago using jboss. I have been waiting this jboss 5 release for so long... Right now I'm about to use it with seam/ejb3/jsf on a new project.

andre bernardez replied on Wed, 2009/01/14 - 7:35pm

I'm porting some applications from ibm websphere to jboss 4.2. I'm learning more each day. It would be great to use the book for this and other tasks. JbossAS is nice because it's microkernel architecture and it's heavy focus on jmx.

Rodrigo Martinez replied on Wed, 2009/01/14 - 7:47pm

  • I would like to read this book and get a free copy.

sumit shah replied on Wed, 2009/01/14 - 7:48pm

I haven't read the book, but I have used JBoss extensively and look forward to diving into JBoss 5.  I look forward especially to some of the OSGI enhancement and hopefully this should make the headache of deploying multiple applications (with conflicting third party dependencies) a thing of the past.

Liu Yuqing replied on Wed, 2009/01/14 - 8:53pm

thanks for 分享.

AYMAR DIKA Abraham replied on Wed, 2009/01/14 - 9:13pm

I've used JBoss 4 for the development of a big enterprise app in the past. The choice has been made because of all the extra stuff JBoss has compared to Tomcat.

Looking forward to read the book.

Liming Xu replied on Wed, 2009/01/14 - 9:22pm

Never used JBoss, it looks like they are struggling at the moment, but i like the openness of it.

Suggan Buggan replied on Wed, 2009/01/14 - 10:02pm

Used JBoss 3 and 4.

Jerry Gulla replied on Wed, 2009/01/14 - 10:12pm

I work at a company that is starting to deploy apps on JBoss (vs. WebSphere), and I must say it's a refereshing change. JBoss is much easier to work with, as well as more up to date in terms of which JDK we can use.   The toolset and community support is fantastic.


Majid Keshtidar replied on Wed, 2009/01/14 - 10:57pm

i have used JBoss 4.2 and i recently want to switch to JBoss 5, i think that this book can be usefull.

Hantsy Bai replied on Thu, 2009/01/15 - 10:46am

I am using JBoss 4.2.x , the partial version of Java EE implementatin for a long time. JBoss AS  is the most popular open source application server in the world. JBoss 5 introduces the new JBoss MicroContainer and it is the first time brings application server to the  "POJO era" .

But for me, JBoss is still not easy to use. JBoss 5 AS dose not ship with friendly web console like Glassfish as expected before. May be everybody need a detailed reference book like JBoss in Action. 

Mondi Ravi replied on Thu, 2009/01/15 - 12:07am

I haven't used JBoss AS but with this hype and such following, I am eager to know more about JBoss and read the book.


Anuj Mehta replied on Thu, 2009/01/15 - 12:59am

JBOSS the BOSS of all application servers

Qin Degang replied on Thu, 2009/01/15 - 1:02am

Currently we are using JBoss 4.0.5 for the development of a J2EE report system. I am Looking forward to reading the book to see how we can upgrade to the version 5.



Jewel we replied on Thu, 2009/01/15 - 1:38am

We have been using JBoss 4.2.2 for our last two projects. We chosed this as most mature a Java EE platform as we are using EJB 3.0 as well as Seam. Now we are planning to move to 5.0 after it supports Seam officially.

Vladimir Avanessian replied on Thu, 2009/01/15 - 1:50am

We widely use JBoss 4.2.2 and JBoss Portal 2.6.7 in enterprise application development. In my opinion these are mature products but a little bit complex and overweight :) So we're looking for some alternative. As for the book - I wish I had it :)

Lukas Zapletal replied on Thu, 2009/01/15 - 2:37am

I dont know JBoss 5, I have heard its good. The book could give me a hand here in platform decisions for new projects. Time is money and I do not have it for searching the web for information. One book = one place. The definitive way to learn JBoss 5 without mouse clicks. The extraordinary chance to learn JBoss 5 in the bathroom.

Burca Ciprian replied on Thu, 2009/01/15 - 3:25am

Hi all,

Regarding JBoss, I can tell that I'm using it on our main project at work, as an application server for our set box application, it delivers content to this box in order to display it on hotel TV sets. It's a great application server. 




Rick Hightower replied on Thu, 2009/01/15 - 4:31am

A few of my clients use JBoss. I prefer Tomcat + Spring or Jetty + Spring. Then just add in ActiveMQ if you need JMS. JBoss does have some advantages. I'd like to learn more about JBoss 5. We used 4.2 on our last project.


Jose Luis replied on Thu, 2009/01/15 - 5:04am

I've been using jboss since 3.2.3, and , trying to upgrade to a newer release  ( still using 3.2.7 in production ).

I'd really like to know the very insides of jboss, as currently using clusters and jmx.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.