Cloud Computing Conference
March 30 - April 1, New York
Register Today and SAVE !..

SYS-CON.TV

2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
TOP THREE LINKS YOU MUST CLICK ON


Debugging Both Flex and Tomcat Java Programs in Eclipse
Having the right debugging tools is crucial for any Web application

If you use Adobe Flex Web applications that connect to Plain Old Java Objects on the server side, chances are that you use a popular, robust, and freely available server called Apache Tomcat.  If you use Eclipse-based Flex Builder, you can smoothly debug both Flex and Java code without leaving Eclipse. Flex Builder debugger does not need any special configuration. But we need to add a couple of parameters to the startup routine of Tomcat so it‘ll engage the Java Platform Debugger Architecture (JPDA), which will allow other applications to attach to the JVM that runs Tomcat and debug deployed Java classes remotely.

You just need to add a couple of options to the JVM that starts Tomcat. In this short article I’ll explain how to do this if you install Tomcat using Windows Service Installer  and run Apache Tomcat as a service under Microsoft Windows. But even if you start Tomcat using command files, JVM parameters remain pretty much the same (see http://tomcat.apache.org/faq/development.html ).

Open the menu Program Files, Apache Tomcat 6.0 and start Apache Monitor Tomcat. In the right corner of the Windows toolbar, you’ll see a small icon with a little red square. Open it up, select the Java tab, and add the following two options lines in the Java Options field:

-Xdebug
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

This screen may look as shown below:


 

Press OK – your Tomcat will allow other clients to connect and get debug information through the port 8000. Now go to Eclipse and open the Java perspective that contains the source code of the Java program that is deployed under Tomcat and needs to be debugged.  

The next step is to configure parameters of the remote debug session. Select the Java program and then click on the menu Run | Debug, and then right-click on the option Remote Java Application on the left side of the window shown below. Select New from the menu and fill out the rest of the fields in this Window.
 
Note: The connection properties of the Eclipse debug session should be configured to connect to the same port 8000, where Tomcat is publishing its debug information.


 

Close the debug configuration window, highlight the name of your Java class, and press the button Debug, and it’ll start the debug session on this port. You can also start this debug session by right-clicking on your Java program name and pressing the button Debug.

The rest is simple – set a breakpoint in your Java program, and when this code will be executed, Eclipse brings the Java debugger and stops there. If you hit a breakpoint set in your ActionScript code, the Flex Builder debugger will pop up.

Note: If you see an error message, the chances are that you are trying to start the debug session on port 8000 more than once, which is not allowed.

This is not the only way to debug your Java code deployed under the J2EE application server. For more debug options, see Chapter 12 of the book Rich Internet Applications with Adobe Flex and Java.

Happy coding and debugging with Flex and Java!

About Yakov Fain
Yakov Fain is a managing principal of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , "Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters" in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Currently Yakov works on the book for O'Reilly "Enterprise Application Development with Flex".

YOUR FEEDBACK
Dario Laverde wrote: Hello Yakov, Just want to point out that one doesn't have to always use JPDA when debugging Tomcat in Eclipse (or any IDE for that matter). You can define a run/debug configuration with org.apache.catalina.startup.Bootstrap as your main class running from Tomcat's home directory. You can additionally avoid redeploying web apps (and restarting the debug session) by defining the docBase in the deployed context file to point to your application's workspace folder so as you edit files Tomcat automatically redeploys with each save. regards, Dario
LATEST APACHE DEVELOPER STORIES
What are the benefits from using Cloud Computing services or platforms? Cost efficiency, shorter innovation cycles and scalability are frequently mentioned promises. However, the value proposition of Cloud Computing obviously depends on the corresponding business scenario. You ca...
Minerva Infotech has launched a custom Content Management System (CMS). Minerva Infotech CMS 1.0 is used to create, edit, manage, and publish content in a consistently organized fashion. The content management may include computer files, image media, audio files, video files, ele...
The year that's just ended was a terrific one for the proliferation of new technologies and frameworks. I have been hearing a lot about the following technologies in the year 2008: mashups, cloud computing, domain modeling, Eclipse - especially Equinox, Single Sourcing, and Eclip...
It’s time to wrap up the year 2008 - a year of change with Obama, the Olympic Games and the financial crisis. It was also the year when Yahoo said no to Microsoft. 2009 will be all about Cloud Computing: the technological hype has started already but the commercial breakthrough...
It's no secret that open source has turned into a market force, which is giving enterprise software some tough competition. The same can be said for SaaS businesses, which are steadily eating into the market share of the established on-premise players. While it could easily be as...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

MOST READ THIS WEEK
ADS BY GOOGLE
BREAKING APACHE DEVELOPER NEWS