Creating a multithreaded TCP/IP protocol based server requires the capabilities to handle network communication, multithreading and transferring data between threads.
I have described how to build C++ components to handle this functionality in previous blogs. This time I’ll show you how to combine these components to create a simple multithreaded server.
Recently I created a training course on Hadoop programming and debugging for my colleagues at work. During the course development I decided to set up the environment I discussed in my blog Debugging Hadoop Applications with IntelliJ on a CentOS virtual machine so the students would have some Hadoop code to play with right off the bat. Since most of them didn’t have VMware, I created a VM with Oracle’s VirtualBox – a free alternative to VMware desktop solutions. This tutorial covers how to create virtual machines using VirtualBox.
In my last blog, I explained how to create and configure a Hadoop development environment so that you can build the jars and example applications from the Hadoop source code you get from the Apache Hadoop trunk repository.
This time around I’ll show you how to debug your Hadoop applications using the IntelliJ Community Edition IDE. I’m going to discuss two different projects, one to debug the PI estimation program from the Hadoop examples jar file and the other to debug the WordCount application.
If you have a desire or need to work on Hadoop code, I’ve summarized the packages you need to install and configure to create a Hadoop build and development environment.
In my blog XML Parsing With DOM in C++, I used the Xerces-C++ XML Parser as the foundation for the XML parsing API. The classes from that article are also useful for and can be implemented in Java. The difference is Java includes support for XML parsing with both the SAX and DOM models.
You can read up on the specifics of the DOM model in my previous article, so let’s dive right into the API code.