Book Image

Java EE 8 Development with Eclipse - Third Edition

By : Ram Kulkarni
Book Image

Java EE 8 Development with Eclipse - Third Edition

By: Ram Kulkarni

Overview of this book

Java EE is one of the most popular tools for enterprise application design and development. With recent changes to Java EE 8 specifications, Java EE application development has become a lot simpler with the new specifications, some of which compete with the existing specifications. This guide provides a complete overview of developing highly performant, robust and secure enterprise applications with Java EE with Eclipse. The book begins by exploring different Java EE technologies and how to use them (JSP, JSF, JPA, JDBC, EJB, and more), along with suitable technologies for different scenarios. You will learn how to set up the development environment for Java EE applications and understand Java EE specifications in detail, with an emphasis on examples. The book takes you through deployment of an application in Tomcat, GlassFish Servers, and also in the cloud. It goes beyond the basics and covers topics like debugging, testing, deployment, and securing your Java EE applications. You'll also get to know techniques to develop cloud-ready microservices in Java EE.
Table of Contents (20 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Free Chapter
1
Introducing JEE and Eclipse
Index

Using the debugger to know the status of program execution


We have seen how to use the debugger to verify the execution flow of a program (using the step operations) and to inspect variables. You can also use the debugger to know what the status of the running program is. For example, a web request is taking too long and you want to know where exactly the execution is stuck. You can use the debugger to find this. It is similar to taking the thread dump of a running program, but is much easier than the methods used to get the thread dump. Let's assume that our CourseDAO.getCourses method is taking a long time to execute. Let's simulate this by using a couple of Thread.sleep calls, as shown in the following code snippet:

public List<Course> getCourses () throws SQLException { 
  //get connection from connection pool 
  Connection con = 
 DatabaseConnectionFactory.getConnectionFactory().getConnection(); 
 
  try { 
    Thread.sleep(5000); 
  } catch (InterruptedException e) {} 
 
 
  List...