Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic, Eclipse

Weblogic: Article

Configuring Eclipse for Remote Debugging a WebLogic Java Application

A J2EE application deployed in the WebLogic server may be debugged in the Eclipse ID

A J2EE application deployed in the WebLogic server may be debugged in the Eclipse IDE with the remote debugger provided by Eclipse. Without a debugger the error message has to be obtained from the application server error log to debug the application.

With the remote debugger provided by Eclipse, exception breakpoints may be added to the application file to debug. When an application is run in WebLogic and the application generates an error, the application gets suspended and the Eclipse IDE Debug perspective displays the error. In this tutorial we will debug a WebLogic Application Server application in Eclipse.

To debug an application deployed in the WebLogic Server from Eclipse, start the WebLogic Server in debug mode and configure a remote debugging configuration in Eclipse. Next, connect the Eclipse remote debugger to the WebLogic Server and debug applications running in the server. We will develop an example servlet application and deploy the application in WebLogic. First, the servlet is run without any error and subsequently an error is introduced in the servlet to demonstrate the remote debugging feature in Eclipse.

Preliminary Setup
Download the WebLogic 8.1 Application Server and install it. Download the Eclipse 3.0 or Eclipse 3.02 zip file eclipse-SDK-3.0-win32.zip (www.eclipse.org/downloads/index.php) and install it as well.

Developing a WebLogic Application
After installing the WebLogic Server and the Eclipse IDE, develop a servlet application to run and debug in the WebLogic Server. The example servlet application consists of a doGet method, which prints out a String message to the browser. The example servlet, WebLogicServlet.java, is shown in Listing 1.

Create a directory structure for a Web application. Create a WEB-INF directory and a classes directory in the WEB-INF directory. Create a package directory servlets for the example servlet and copy the WebLogicServlet.java file to the servlets directory. Create a web.xml deployment descriptor for the Web application. Copy the web.xml file to the WEB-INF directory. Listing 2 shows the web.xml file.

The example servlet is mapped to URL pattern /weblogic. The structure of the Web application is illustrated below.


/WEB-INF
| |
web.xml classes
|
servlets
|
WebLogicServlet.class
The compiling, packaging, and deploying of the Web application is done in the Eclipse IDE with an Ant build.xml file. Develop an Ant build.xml file that consists of targets to compile the WebLogicServlet.java and package and deploy the webapp.war Web application. Listing 3 shows the build.xml file.

Table 1 shows the properties of the build.xml file. Table 2 shows the file's targets.

Set the debug attribute of the javac task in the build target to true to enable compilation in debug mode. By compiling an application in debug mode the line number, which generates the exception in a WebLogic Server application, gets displayed in the Debug perspective. Create a new project in the Eclipse IDE. Select File>New>Project. The New Project frame gets displayed. In the New Project wizard select Java>Java Project. Click on the Next button. The New Java Project frame gets displayed. In the New Java Project frame specify a Project Name, EclipseWebLogic for example, and click on the Next button. In the Java Settings frame add a source folder to the project with the Add Folder button.

The New Source Folder frame gets displayed. In the New Source Folder frame specify a folder name, src for example. A source folder gets added to the project. A message prompt gets displayed to update the source folder and the output folder. In the New Java Project frame click on the Finish button to create the project. A new project gets added to the Eclipse IDE. Next, select File>Import to import the example servlet source folder to the project. In the Import Select frame select File System and click on the Next button. In the Import File System frame select the src folder and the build.xml file and then click on the Finish button. The servlet source files get added to the project.

Run the build.xml file to compile, package, and deploy the servlet Web application to the WebLogic Server. Right-click on the build.xml file and select Run>Ant Build. The Web application .war file webapp.war gets generated and is deployed to the WebLogic 8.1 Application Server applications directory. Next, start the WebLogic Server with the bin/run script. Invoke the example servlet in a Web browser with the URL http://localhost:7001/webapp/weblogic. The WebLogicServlet runs in the WebLogic Server and the output gets displayed in the browser.

Configuring a Remote Debugging Configuration in Eclipse
To remote debug a WebLogic application in Eclipse start the WebLogic Server in debug mode. Set the WebLogic Server in debug mode by setting the debug options in the startWebLogic batch script file. The debugging provided by WebLogic is based on the Java Platform Debugger Architecture (JPDA). Set the JAVA_OPTS variable as:

set JAVA_OPTS= -Xdebug -Xnoagent
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS%

Table 3 shows the different debug parameters. For further explanation of the debug settings refer to the JPDA documentation (http://java.sun.com/j2se/1.4.2/docs/guide/jpda/). To demonstrate the remote debugging feature of Eclipse, add an exception to the WebLogicServlet.java file. For example, add a NullPointerException to the WebLogicServlet.java class. Replace

out.println("Eclipse WebLogic Remote Debugging");

with

String str=null;
out.println(str.toString());

Next, configure a debug configuration for the Eclipse project. Select the Debug option in the Debug option list. The Debug frame gets displayed. In the Debug frame select the Remote Java Application node. Right-click on the node and select New. In the Debug configuration frame specify a name for the Debug configuration. Select the project that is to be debugged. Select the EclipseWebLogic project previously created in the Eclipse IDE. Select the default value for Connection Type. In the Connection Properties, specify localhost as the Host and specify the Port as the port that was specified in the startWebLogic batch script of the WebLogic server, 8787. Click on the Apply button. A remote Java application debug configuration gets added.

Next add exception breakpoints to the WebLogicServlet.java file. To demonstrate the remote debug feature of Eclipse a NullPointerException was added to the WebLogicServlet.java file earlier in this section. To add a breakpoint to the servlet class, Select Run>Add Java Exception Breakpoint. In the Add Java Exception Breakpoint frame select the NullPointerException. The NullPointerException breakpoint gets added to the servlet class. If a NullPointerException is generated in the servlet application in the WebLogic Server, the application gets suspended and the Debug perspective of the Eclipse IDE displays the exception.

Remote Debugging a WebLogic Application
After configuring a debug configuration for the example servlet application deployed in the WebLogic Server, we will debug the servlet application in the Eclipse IDE. Create a webapp.war Web application from the modified (with the NullPointerException) WebLogicServlet.class file with the build.xml file as explained in the "Developing a WebLogic Application" section. Start the WebLogic Server. The server starts in debug mode with the debug options specified in the startWebLogic batch file.

Next, select the EclipseDebug debug configuration in the Debug frame. Click on the Debug button to connect the remote debugger to the WebLogic Server. The Eclipse remote debugger gets connected to the WebLogic Server. Select the Debug Perspective button to display the debug perspective of the Eclipse IDE. In the Debug perspective the remote debugger is shown connected to the WebLogic server at localhost, port 8787. Access the WebLogicServlet in the WebLogic Server with the URL http://localhost:7001/webapp/weblogic. Because the servlet has a NullPointerException, the servlet gets suspended with a NullPointerException in the Debug perspective. The line that produced the exception gets displayed.

The line that throws the exception is the out.println(str.toString()); code line. The servlet application may be debugged with the different debug options listed by selecting Run in the Eclipse IDE.

Summary
In this tutorial a WebLogic application was debugged in the Eclipse IDE. A WebLogic application may also be debugged from another IDE such as JDeveloper.

More Stories By Deepak Vohra

Deepak Vohra is a Sun Certified Java 1.4 Programmer and a Web developer.

More Stories By Ajay Vohra

Ajay Vohra is a senior solutions architect with DataSynapse Inc.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Sreedhar 05/18/06 01:15:58 PM EDT

Does any one know how to do remote debug ging in clustered environment??

Neena 03/09/06 05:59:07 PM EST

Do you know how to debug a Clustered WebLogic Environment or where we can get the information on to set up debugging for Cluster?

SYS-CON Brazil News Desk 01/18/06 07:19:38 PM EST

A J2EE application deployed in the WebLogic server may be debugged in the Eclipse IDE with the remote debugger provided by Eclipse. Without a debugger the error message has to be obtained from the application server error log to debug the application.

@ThingsExpo Stories
SYS-CON Events announced today that N3N will exhibit at SYS-CON's @ThingsExpo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. N3N’s solutions increase the effectiveness of operations and control centers, increase the value of IoT investments, and facilitate real-time operational decision making. N3N enables operations teams with a four dimensional digital “big board” that consolidates real-time live video feeds alongside IoT sensor data a...
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
Mobile device usage has increased exponentially during the past several years, as consumers rely on handhelds for everything from news and weather to banking and purchases. What can we expect in the next few years? The way in which we interact with our devices will fundamentally change, as businesses leverage Artificial Intelligence. We already see this taking shape as businesses leverage AI for cost savings and customer responsiveness. This trend will continue, as AI is used for more sophistica...
SYS-CON Events announced today that SourceForge has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. SourceForge is the largest, most trusted destination for Open Source Software development, collaboration, discovery and download on the web serving over 32 million viewers, 150 million downloads and over 460,000 active development projects each and every month.
SYS-CON Events announced today that Interface Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Interface Corporation is a company developing, manufacturing and marketing high quality and wide variety of industrial computers and interface modules such as PCIs and PCI express. For more information, visit http://www.i...
SYS-CON Events announced today that mruby Forum will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. mruby is the lightweight implementation of the Ruby language. We introduce mruby and the mruby IoT framework that enhances development productivity. For more information, visit http://forum.mruby.org/.
In his session at @ThingsExpo, Greg Gorman is the Director, IoT Developer Ecosystem, Watson IoT, will provide a short tutorial on Node-RED, a Node.js-based programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using a wide range of nodes in the palette that can be deployed to its runtime in a single-click. There is a large library of contributed nodes that help so...
What is the best strategy for selecting the right offshore company for your business? In his session at 21st Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, will discuss the things to look for - positive and negative - in evaluating your options. He will also discuss how to maximize productivity with your offshore developers. Before you start your search, clearly understand your business needs and how that impacts software choices.
SYS-CON Events announced today that Mobile Create USA will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Mobile Create USA Inc. is an MVNO-based business model that uses portable communication devices and cellular-based infrastructure in the development, sales, operation and mobile communications systems incorporating GPS capabi...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, will discuss how data centers of the future will be managed, how th...
There is huge complexity in implementing a successful digital business that requires efficient on-premise and cloud back-end infrastructure, IT and Internet of Things (IoT) data, analytics, Machine Learning, Artificial Intelligence (AI) and Digital Applications. In the data center alone, there are physical and virtual infrastructures, multiple operating systems, multiple applications and new and emerging business and technological paradigms such as cloud computing and XaaS. And then there are pe...
SYS-CON Events announced today that MIRAI Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MIRAI Inc. are IT consultants from the public sector whose mission is to solve social issues by technology and innovation and to create a meaningful future for people.
SYS-CON Events announced today that Keisoku Research Consultant Co. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Keisoku Research Consultant, Co. offers research and consulting in a wide range of civil engineering-related fields from information construction to preservation of cultural properties. For more information, vi...
SYS-CON Events announced today that Massive Networks, that helps your business operate seamlessly with fast, reliable, and secure internet and network solutions, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. As a premier telecommunications provider, Massive Networks is headquartered out of Louisville, Colorado. With years of experience under their belt, their team of...
SYS-CON Events announced today that Enroute Lab will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enroute Lab is an industrial design, research and development company of unmanned robotic vehicle system. For more information, please visit http://elab.co.jp/.
SYS-CON Events announced today that Ryobi Systems will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ryobi Systems Co., Ltd., as an information service company, specialized in business support for local governments and medical industry. We are challenging to achive the precision farming with AI. For more information, visit http:...
Real IoT production deployments running at scale are collecting sensor data from hundreds / thousands / millions of devices. The goal is to take business-critical actions on the real-time data and find insights from stored datasets. In his session at @ThingsExpo, John Walicki, Watson IoT Developer Advocate at IBM Cloud, will provide a fast-paced developer journey that follows the IoT sensor data from generation, to edge gateway, to edge analytics, to encryption, to the IBM Bluemix cloud, to Wa...
SYS-CON Events announced today that Fusic will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Fusic Co. provides mocks as virtual IoT devices. You can customize mocks, and get any amount of data at any time in your test. For more information, visit https://fusic.co.jp/english/.
SYS-CON Events announced today that B2Cloud will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. B2Cloud specializes in IoT devices for preventive and predictive maintenance in any kind of equipment retrieving data like Energy consumption, working time, temperature, humidity, pressure, etc.
SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp em...