JBoss EAP Configuration, Deployment, and Administration will teach you everything you need to know in a hands-on, interactive way. You'll follow step-by-step instructions that walk you through the key features of JBoss. Beyond that we will dive deep into the inner workings of Java, which will help you troubleshoot problems quickly and easily. Learn about the most popular ways to configure JBoss and ensure maximum uptime and scalability for your applications. Take a tour of the most popular Java Enterprise features, beginning with databases and JMS, and rounding off at logging. Along the way, we'll dive into troubleshooting common problems such as out of memory errors and performance optimization.
JBoss EAP Configuration, Deployment, and Administration will highlight the differences between standalone and domain mode, explaining why you would use domain mode and how it differs from the traditional standalone approach. We'll dive into configuring databases and message queues and also show you how to integrate them into your application when running on JBoss.
We continue our journey with setting up HTTP request load balancing, and setting up a cluster of highly available JBoss nodes, while demonstrating how easy it is to finely manage classloading dependencies for your applications. We cover some extra performance features and new security features such as the Vault, which you can use to encrypt plain-text passwords in configuration files. We talk about some development features new with JBoss EAP, such as Arquillian, a test harness for testing CDI and EJB beans without a full blown startup/shutdown container cycle. Lastly, we'll talk in depth about JBoss logging, how to use the logging framework provided by the container or roll your own logging in your application.
JBoss EAP Configuration, Deployment, and Administration will quickly turn you into a well-rounded JBoss administrator. We'll focus on key features of the JBoss Application Server that will make you a power user, quickly and easily.
Jason Shepherd is a technical support engineer working for Red Hat in Australia. He's helped countless users with Jboss problems, and has experience with more types of problems with Jboss than you can imagine. Before working for Red Hat he worked as a Java developer writing web applications, and web service implementations for a major travel company. He has first hand experience with enterprise application development in real-life situations.
If you're running a single instance of JBoss, standalone mode is the simplest way to run JBoss AS 7.
Need to share configuration between server instances? Now it's easy using domain mode. You can centralize your configuration and management of many server instances deployed across multiple hosts.
Got an application you need to deploy? The simplest way is to run standalone mode and deploy it as demonstrated in this video.
If you need to deploy the same application to multiple JBoss instances at the same time, you can utilize domain mode and server groups to deploy to all member of that group at once.
Got an application that you need to deploy on multiple server groups? You can do this quickly and easily using domain mode.
Utilize the application server's database connectivity for connection pooling and transaction management.
Need to deploy a datasource in domain mode? The easiest way is through the CLI.
Wondering why editing configuration files is not the most desirable option? Wondering whether to use a non-XADatasource or an XADatasource? We'll explain why in this section.
Utilize the application server's database connectivity for connection pooling and JEE features like the Java Persistence and Java Connectivity APIs.
Database connections are expensive to create. Learn how to optimize their use.
Need to send messages using the application server? You'll need to define a queue on which to listen and send messages.
The JMS specification defines a standard way to execute messaging in Java. JBoss AS 7 implements JMS 1.1 and we'll discover how to utilize it.
Improve the performance of your application running on JBoss by choosing an appropriate garbage collection strategy.
Get insights into your Java virtual machine to diagnose garbage collection problems.
Get insights into your Java virtual machine to diagnose the cause of high CPU or a locked up JVM.
Get insight into the garbage collection happening in your JVM to help diagnose memory leaks and poor performance.
Narrow down the cause of high CPU in a Java application in order to prevent it.
Prevent the JVM from crashing with OutOfMemory errors.
Load balance a web request and reduce the impact of an outage by joining two or more JBoss instances in a cluster.
Using domain mode will allow you to keep all the server instances in the cluster configured the same and deploy an application to the entire cluster easily.
Have high load on your website? Need to add more JBoss instances to handle the load? Lean how to set up mod_cluster to load-balance requests between many JBoss instances running in domain mode.
Load balancing of JMS messaging allows JBoss to handle a higher load of messages than would be possible on a single node.
In previous versions, classes needed by JBoss were also available on your application. While it is necessary for JBoss to provide some classes that provide the features of the Java Enterprise Edition specification, some classes are just implementation details and should not interfere with your application.
JBoss is a Java Enterprise Edition 6 implementation, and therefore provides the functionality defined by that specification. However, it only loads the modules required to implement that functionality when certain trigger conditions are met.
If JBoss is implicitly loading a module that you do not want to be part of your application, you can explicitly exclude it so it doesn't interfere with the application.
You'll learn how to package your application as a .ear file, as well as about the precedence of classloading within the .ear in this section.
The web connector in JBoss works by allocating a thread for the lifetime of a client request. You can relax this requirement by utilizing asynchronous servlets.
If you want to prevent third parties from intercepting communication between the browser and the server, one of the best ways is to encrypt it with SSL. This will make it very hard to decipher the content of the requests.
Writing custom security components for your application is error prone and time consuming. You can use JAAS to have JBoss manage security for you.
Storing passwords in plain text in configuration files is risky. If a malicious user is able to read the file, they could compromise the security of your application or its data. Learn how to encrypt passwords in configuration files so that they are not readable.
Building and deploying an application for JBoss is difficult. JBoss tools and Eclipse makes it easier by allowing you to deploy your application to JBoss directly from Eclipse.
JEE applications are complex, with many parts that must be assembled correctly. Maven provides a standard way to layout and build an application.
Developing an application is a time-consuming process. Streamline the process by utilizing the JBoss Tools plugin.
Testing application code is difficult and time consuming. Streamline testing using Arquillian and Shrinkwrap to build and deploy a subset of your application code to JBoss to test directly in the container.
If you have a problem that cannot be diagnosed using the standard logging configuration, you can increase the logging verbosity to view all the logs for the server. This will aid in debugging.
Sometimes you need to get information from a particular part of JBoss or your application without increasing the verbosity of all the logging categories. Doing this allows targeted debugging and avoiding the need to look for a needle in a haystack.
If JBoss is performing a lot of logging, it can slow down the performance of the server. Using the async handler will improve the performance, with the side-effect of there being a delay while the buffer fills up before the messages appear in the logs.
Your JBoss instance might do a lot of logging, and rolling the logfile once a day might cause it to get too large to work with. In this case, you can set the logfile to roll at a specified size.
Sometimes you would rather have logging configurations per application deployment or use a separate logfile for your application logging. It's possible to do this by loading the logging framework from your application instead of from JBoss.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.