vulab | Open Source IT Training, Java, JEE, Spring Framework, Hibernate, JPA, Big Data, JEE, Hadoop, Spring, Hibernate, Android, IOS, Cloudera, Hortonworks, Big Insights

vulab We provide hands-on training in Java, Big Data, Hadoop, Sqoop, Hive, Impala, Map Reduce, Cloudera, Horton Works, IBM Big Insights, J2ee, Spring Framework, Hibernate, JPA, Android, Apple ios, Java script, HTML5, Database Development, SAP, .NET, Web Development, Quality Assurance, Mobile application development etc....

Posted on 11 October 2014 by Srinivas Nelakuditi

Apache Kafka Message Consumer API Tutorial

In this hands-on tutorial we will use Apache Kafka API to consume or read messages from Apache Kafka topics.
Please read the below two blogs before attempting this tutorial.

Apache Kafka Installation

Apache Kafka Message Producer API Tutorial

Step 1: Create a Kafka Consumer using API

Step 2: Set Eclipse Runtime Parameters for Consumer

Continue Reading ….


Posted on 11 October 2014 by Srinivas Nelakuditi

Apache Kafka Message Producer API Tutorial

In this tutorial we will learn using Apache Kafka High Level Producer API to send messages using Java Program.

Please make sure you have completed Apache Kafka Installation tutorial before you start this tutorial.

Step 1: Install JDK

Make sure you have JDK 1.7 or JDK 1.8 installed on your machine. You can download and install JKD 1.8 from this link.

Continue Reading ….

1 Comment

Posted on 06 October 2014 by Srinivas Nelakuditi

Apache Kafka Installation

Aim of this Kafka Tutorial:

Install Apache Kafka, Create a topic and use a producer to send test messages to Kafka Topics. Also launch a consumer to consume messages from Kafka Topics.

Step 1:

Our aim is to install a Ubuntu 64bit server using Oracle Virtual box.

Please download Ubuntu server from this link Download Ubuntu Server

Please download Oracle Virtual Box from this link Download Virtual Box

Follow the instructions online to get your Virtual Box started with Ubuntu 64 bit server. Google is your best bet to get the correct instructions for this step.

Note: Make sure you have JDK installed on the OS.

On my machine java -version is displaying the following version
vulab-build-system:~$ java -version
java version “1.8.0_11”
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

Continue Reading ….


Posted on 05 October 2014 by Srinivas Nelakuditi

Apache Kafka Use Cases

Apache Kafka Logo

Apache Kafka Logo

Let us explore the most widely used use cases of Apache Kafka.

Use Case -1: Messaging Use Case with Apache Kafka

Apache Kafka is very similar to the functionality provided by IBM MQ, Apache  ActiveMQ, RabbitMQ. Apache MQ can be used for decoupling message producers and message consumers. Kafka can also be used to buffer messages from Producer, which will allow for Consumer to process messages at its own pace. Compared to a number of available messaging systems, Kafka provides built in partitioning, replication on multiple nodes in cluster, fault -tolerance.

Kafka is better suited for large scale messaging needs usually required for Big Data solutions built with Apache Hadoop or Apache Storm.

Use Case -2: Website Activity Tracking Use Case with Apache Kafka

Website tracking was the original use case of Apache Kafka. Apache Kafka can be used to publish every activity on the website to a central Topic. Further topics can be used to recreate the complete path of every user using this data. Even each unique activity can be tracked for analysis and trend discovery. The data for searches, page views, registrations, logins, logouts can be published to a topic per activity. This data can further be used for real time monitoring, real time risk analysis, and further ingestion of data into HDFS for reporting and analytics. Website acitivity tracking is expected to handle very high volume of data with multiple activities monitored in parallel.

Continue Reading ….


Posted on 05 October 2014 by Srinivas Nelakuditi

Apache Kafka Introduction

Apache Kafka Logo

Apache Kafka Logo

Apache Kafka is an open source project developed under the Apache foundation. Apache Kafka is a messaging platform for big data. Kafka can consume billions of incoming messages from thousands of producers and can allow thousands of consumers to consume messages in parallel. Apache Kafka is highly scalable and it uses the high availability cluster to go beyond the capability of any single machine.

Messages are stored on disk to provide durability.  Apache Kafka is currently being used in linked-in, twitter and other larger banks and social networks dealing with huge messaging needs.

Apache Kafka + Big Data ?

Apache kafka has very good integration with Apache Hadoop and hadoop distributed file system (HDFS). Apache Kafka also integrates very well with Apache Storm another open source big data project.

The below image is showing Apache Kafka Cluster with messages arriving from Producers and messages delivered to Consumers

Apache Kafka Cluster Architecture

Apache Kafka Cluster Architecture

Communication between producer, consumer and cluster is maintained using TCP protocol.

Continue Reading ….


Posted on 05 February 2014 by Srinivas Nelakuditi

Hello Apache Tomcat 8 What is New with you?

apache-tomcat-installApache Tomcat 8 is built for Java EE 7
Tomcat 8 supports Java Servlet 3.1, JavaServer Pages 2.3, Java Unified Expression Language 3.0 and Java Web Socket 1.0. The default connector is now (NIO), so expect better performance.

Start using it today.

Wish you happy coding for life.

Note: Vulab provides online java training, and we use apache tomcat 8 for web application development.


Posted on 05 February 2014 by Srinivas Nelakuditi

Hibernate 4 Second Level Cache

Hibernate is the best Object Relational Mapping tool in the market. You can also enhance the performance of hibernate further by using second level cache feature. I am making an assumption that you are already using Hibernate in your project and want to enable second level caching to improve performance

Step 1: Make sure your Maven pom.xml has this dependency added. We are using ehcache as the caching provider. You can use a different provider also.

<!–  Hibernate ehcache library –>

Step 2: Update your hibernate.cfg.xml file or spring configuration file to configure hibernate properties.

<!– Caching Configuration start–>
<property name=”hibernate.cache.provider_configuration_file_resource_path”>ehcache.xml</property>
<property name=”hibernate.cache.use_second_level_cache”>true</property>
<property name=”hibernate.cache.use_query_cache”>true</property>

<property name=”hibernate.cache.region.factory_class”>org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
<property name=”hibernate.cache.provider_class”>net.sf.ehcache.hibernate.EhCacheProvider</property>
<!– Caching Configuration end –>

Step 3: Create a file called ehcache.xml in the resources folder or configuration folder.

<ehcache xmlns:xsi=””
xsi:noNamespaceSchemaLocation=”ehcache.xsd” updateCheck=”true”
monitoring=”autodetect” dynamicConfig=”true”>

<defaultCache maxElementsInMemory=”100000″ eternal=”false”
timeToIdleSeconds=”1000″ timeToLiveSeconds=”1000″ overflowToDisk=”false” />

<cache name=”com.vulab.code.domain.Product” maxElementsInMemory=”10000″
eternal=”false” timeToIdleSeconds=”500″ timeToLiveSeconds=”500″ />

In the above file we are only caching Product object with 10,000 max objects in memory.

Step 4: Update all your entities with the following annotation for caching to work. If you forget to add this, the caching will not work later when you are testing your application.

@Table(name = “product”, uniqueConstraints = @UniqueConstraint(columnNames = “name”))
public class Product implements {

Step 5: Write a simple Junit Test case to check

Session session = HibernateFactory.INSTANCE.getSession();

Product product = (Product) session.get(Product.class, 1);


Session session2 = HibernateFactory.INSTANCE.getSession();

Product productFromDB = (Product) session2.get(Product.class, 1);


When caching is disabled, You will see the following log, and we can clearly see that query for product is executed twice against the database. Product was not found in the hibernate’s second level cache.

Hibernate: select product0_.product_id as product_1_3_0_, as name2_3_0_ from product product0_ where product0_.product_id=?
02/05/2014 00:07:22,572 TRACE [main] – binding parameter [1] as [INTEGER] – 1
02/05/2014 00:07:22,582 TRACE [main] – Found [IPAD] as column [name2_3_0_]
02/05/2014 00:07:22,594 TRACE [main] – Created collection wrapper: [com.vulab.code.domain.Product.customers#1]
Hibernate: select product0_.product_id as product_1_3_0_, as name2_3_0_ from product product0_ where product0_.product_id=?
02/05/2014 00:07:22,599 TRACE [main] – binding parameter [1] as [INTEGER] – 1
02/05/2014 00:07:22,600 TRACE [main] – Found [IPAD] as column [name2_3_0_]
02/05/2014 00:07:22,600 TRACE [main] – Created collection wrapper: [com.vulab.code.domain.Product.customers#1]

Enable the cache and we can see the query is firing only once for the above test case.

Hibernate: select product0_.product_id as product_1_3_0_, as name2_3_0_ from product product0_ where product0_.product_id=?
02/05/2014 00:27:50,406 TRACE [main] – binding parameter [1] as [INTEGER] – 1
02/05/2014 00:27:50,416 TRACE [main] – Found [IPAD] as column [name2_3_0_]
02/05/2014 00:27:50,430 TRACE [main] – Created collection wrapper: [com.vulab.code.domain.Product.customers#1]
02/05/2014 00:27:50,446 TRACE [main] – Created collection wrapper: [com.vulab.code.domain.Product.customers#1]

Step 6: Start analyzing your application. Add all the objects that you need to be cached to the ehcache.xml file and also annotate your entities for read only or read write caching.

Step 7: Vulab provides hands on training in Java. We are the market leader for java training since past 15 years. Enroll with us for Live Online Java Training.


We wish you happy coding for life.



Posted on 02 January 2014 by Srinivas Nelakuditi

Spring 4 Training New Features

Vulab has updated their industry leading Spring Hibernate training course to cover Spring 4. We also cover all the topics of Spring 3 along with features in Spring 4.

Spring Training Course.

Nearly 4 years after Spring 3 is released the new version called Spring 4 is released now.

Spring 4 is built to work with JDK 8 and JEE 7

The main features of Spring 4 are as below:

  • JSR-335 Lambda expressions
  • JSR-310 Date-Time value types for Spring data binding and formatting.
  • JSR-343 JMS 2.0.
  • JSR-338 JPA 2.1.
  • JSR-349 Bean Validation 1.1.
  • JSR-236 Java EE 7 Enterprise Concurrency support.
  • JSR-356 Spring’s WebSocket endpoint mode.
  • Configuring and implementing Spring style application using Groovy 2. Also they specify that first class support for the Groovy applications.
  • Also spring plans to add the HATEOS (Hypermedia as the Engine of Application State) support for REST APIs.

Spring Framework 4.0 offers 1st class Java 8 support now, based on the pre-release Java 8 builds, and will be immediately production-capable once OpenJDK 8 is GA in March 2014. Spring Framework 4.0 doesn’t just run on Java 8, it makes it really easy and natural to leverage new language features such as Lambdas, method references, JSR-310 date and time, and repeatable annotations. The framework also has been updated to work with the latest versions of popular open source libraries like Hibernate, Quartz, and EhCache.


Posted on 12 December 2012 by Srinivas Nelakuditi

FalconDive the ultimate mobile and web application development framework using Java, HTML5

Falcon Dive Java FrameworkA framework which will be having the following features on release:

Spring MVC
Full HTML5 Support
Rest URL’s
User Friendly URL’s
JSON support
Spring Security Integration with encryption
Cookie based authentication
Locale support for I18N Suport
Use localization property files for UI
remember me functionality for autologin with Spring Security
twitter, linked in, google and facebook logins and registration
Spring JDBC Support
Spring Data JPA
Support for all relational databases
Support for all NoSQL databases
Support for Hadoop (Big Data)
Log4J with asynch
Caching with ehcache mechanism (First level cache and second level cache)
site mesh templates
simple tags of java
Deploy all google filters for encryption, compression etc.
www and http must point to the same location
build for clouds like Amazon WebServices
apache solr for search
vimeo for video
responsive UI (zurb foundation)
GIT and Subversion compatibility
maven project
automatic continuous builds
maven profiles for different environments
Junit testcases for every service
Data Transfer Objects (cannot use domain objects on the UI)
Sample application with best coding standards to get started in few minutes
Java Messaging Service Support
REST Web Services Support
Email support and Email templates support inbuilt into the framework
Complete environment for development with Database, Eclipse IDE, JDK, Database IDE, Web Server, Continuous Build Tools integrated

and more features will be added…

will be released in last week of January 2013.


Posted on 02 September 2012 by Srinivas Nelakuditi

Learn to code, importance of IT training

Software is taking over the world, actually it already did. We can see today that more and more system’s are going online and the need for developers and coders is ever increasing. As a consequence of software usage increase in every industry the need for developers, managers, system administrators, business analysts, quality assurance managers and cloud infrastructure specialists is ever increasing. The demand for development is increasing exponentially like a weed. As a matter of fact world has run out of developers.

USA has run out of developers almost fifteen years back, USA is able to sustain because most of the IT development has been outsourced, in-sourced, extra-sourced and managed in different styles. But even after all this the demand of developers is still at it’s peak and we are not still finding qualified developers.

We can see today that most of the new investments are going into the application development tools and technologies. Investing in current IT developers of a company and training those developers for new technologies is not being undertaken. Companies must step up and increase the training activity for employees and keep them up to the latest technologies.

Demand for IT Developers and IT Training

Demand for IT Developers and IT Training

IT Training is the solution

Companies must ramp up IT training for current employees and must also hire employees and train them on required technologies. In the current market companies are trying to find experienced candidates with existing knowledge and use them on their projects, this policy is already backfiring as newer technologies are getting created every day. As new technologies emerge companies must rethink their strategy and train their employees on the required technologies.
Online training has become the most important mode of training in the last few years. This has given a number of advantages to the trained as well as the trainers.

Corporations are using software to manage internal systems, external client interfacing systems. Each system is required to be available for different devices like desktops, televisions, mobile devices like iPhone & android phones, tablet devices. Each interface requires knowledge of a different technology and skill.

Mobile revolution is introducing billions of users to the internet and these users are your customers. You need to be available on every device and at their fingertips. More developers are required to achieve this.

Companies are having petabytes of data regarding their business and client activity. Companies are trying to analyze the data, find new meanings and create new business models to compete. This field will require hundreds of developers with a wide array of skills.

Html5 and JavaScript are making the web come to life with new apps, games, and interactive systems. We need more developers.

Traditional relational databases are no longer working for companies, they are trying cloud and NoSQL databases. We need more developers.

Windows8, the brand new OS from Microsoft is adding tremendous opportunity for companies to migrate corporate desktop apps to the windows8 format. We need more developers.

Advantages of Vulab Online IT Training:

Hands-on Certified Instructor Lead Training: Every training course is delivered by highest quality certified instructors who care about the future of students and their productivity. Every student will get personal attention for the instructor and instructor will work with your strengths and opportunities. Students are trained on the same tools and methodologies used in the real world environment.

Best Value: At Vulab, all training programs are provided at the best price in the industry. If any student is having financial troubles, flexible payment plans are provided. At Vulab we do not allow for financial issues getting in the process of learning and attaining success.

Convenient (Connect from any part of the world): As individuals are having a busy life style, it is becoming difficult to manage time and have quality time with family. Online training will allow anyone to learn at their own pace or attend live training from home or office.

Relevant Topics: As training is delivered via cloud, all the content is updated to the latest versions of the technology. The training path will suit the requirements of the student and will match with the requirements by corporations.

Immediate Delivery: When a student decides to learn a topic, the course learning content and videos are delivered at that instant and there are no lengthy process involved. This will reduce the friction in learning process and learning itself has become a pleasure to enjoy.

Affordable Pricing: As training is delivered via cloud, typical wastage of cash on traveling, boarding can be removed.  Typical online courses are of greater quality than other courses . These courses have fresher content and will cost a lot lesser as the course is being delivered on internet scale not on a classroom scale.

Adds Fun to Learning: As interactive systems are creating dynamic challenges, quiz, assignments and interactions with other students and instructors, the process of learning has become a lot of fun.

Better Retention: With better methodologies, clever design and interactive mode online training has a lot better retention rate of learning.