Debugging WebLogic Server Applications Using Eclipse and the WebLogic-Plugin
Pages: 1, 2
For brevity, the application we will debug is a Hello World EJB. The source for this example has been zipped up and can be accessed here. There is a little bit of setup required in order to build the deployable JAR. The following sections describe the setup procedures. Note that we assume that you have already imported the zipped up project into Eclipse.
WEBLOGIC_HOME/server/libdirectory and add the
The reason you have to create the WEBLOGIC User Library is because our EJB requires the WebLogic JARs in the WEBLOGIC User Library to compile. It is much easier to create User Libraries because you can use them over and over in other projects.
PROJECT_HOME/src/com/jwhitlock/HelloWorldClient.javato have proper values for URL, username and password on lines 19, 20 and 21, respectively.
PROJECT_HOME/build.xmlto have the proper value for your WebLogic home on line 5.
Assuming everything is configured properly, you should be able to run Ant on the
PROJECT_HOME/build.xml and have it run successfully. You can do this by opening the build.xml in Eclipse and doing the following in the
Right-Click "distribute[default]" > Run As > 2 Ant Build
If you get any build errors, look at the Console view for errors so you can resolve and try again.
Well...we now can start WebLogic Server. We can build the application too but to have some real fun, and to see how the WebLogic-Plugin really shines, let's get to the deployment and debugging of our application.
To deploy an application to your running WebLogic Server via the WebLogic-Plugin, all you have to do is right-click the server and fill the dialog out accordingly. The basics of this dialog describe the type of deployment, whether it's archived or exploded, and the path to the deployment. That is it. Let's see this in action:
Now watch the magic. Upon successful deployment, you'll get the usual debug information from the console. You also get real-time updates to your deployments tree in the WebLogic Servers view. As soon as WebLogic acknowledges that your application deployed successfully, the WebLogic Servers view will notify you of everything that was deployed. This becomes very useful when deploying whole applications with more than just a single EJB.
Figure 3 shows how the Weblogic Servers view updates when the EJB is successfully deployed.
Now that we've taken care of the basics on how to use the plug-in, we are ready to debug. Here are the requirements:
Since we are using the bundled Eclipse application mentioned earlier, Number 1 is not a problem. Number 2 is the first problem we run into because earlier, we just created values for the General tab. Let's fix this first before going on to the next:
With the classpath set up, let's update the Run Mode so that we can debug our application:
We're almost finished. All that is left is to perform is everything we've learned from start to finish then run the client that invokes the EJB and debug away. Here are the final steps:
com.jwhitlock.ejb.HelloBean(double-click in the left-hand gutter of the editor).
com.jwhitlock.HelloWorldClient(right-click com.jwhitlock.HelloWorldClient > Run As > Java Application).
You should notice that Eclipse either notifies you of a breakpoint being hit or will automatically switch to the Debug perspective.
Figure 4 shows the Eclipse debugger stopping at the line where you set your breakpoint.
And there you have it folks. We have learned how to successfully utilize the WebLogic-Plugin to manage a WebLogic Server's deployments and to debug those deployments. While the example in this article is extremely simple, it does cover the steps that you will always follow to manage and debug your WebLogic Servers and deployments regardless of deployment type.
Thanks for your time and I hope this helps ease the process of working with WebLogic in the Eclipse environment. For future features, project roadmap or anything else related to the WebLogic-Plugin, feel free to contact me or visit the WebLogic-Plugin home page.
Jeremy Whitlock is a consultant for CollabNet where he trains corporations on Subversion. He is also project owner of Dev2Dev's most popular project, eclipse-plugin, which provides extensions to Eclipse specifically for WebLogic Server.