Wednesday, November 21, 2012

CDI, when to break out the EJBs


I sometimes joke that CDI is basically EJB 4.0. While that's obviously not true there is a considerable amount of similarity and that does create a bit of confusion for people. Here is some general information on EJB and CDI as they relate to each together.

EJB >= CDI

Note that EJBs are CDI beans and therefore have all the benefits of CDI. The reverse is not true (yet). So definitely don't get into the habit of thinking "EJB vs CDI" as that logic really translates to "EJB+CDI vs CDI", which is an odd equation.
In future versions of Java EE we'll be continuing to align them. What aligning means is allowing people to do what they already can do, just without the@Stateful@Stateless or @Singleton annotation at the top.

EJB and CDI in Implementation Terms

Ultimately, EJB and CDI share the same fundamental design of being proxied components. When you get a reference to an EJB or CDI bean, it isn't the real bean. Rather the object you are given is a fake (a proxy). When you invoke a method on this fake object, the call goes to the container who will send the call through interceptors, decorators, etc. as well as take care of any transaction or security checks. Once all that is done, the call finally goes to the real object and the result is passed back through the proxy to the caller.
The difference only comes in how the object to be invoked is resolved. By "resolved" we simply mean, where and how the container looks for the real instance to invoke.
In CDI the container looks in a "scope", which will basically be a hashmap that lives for a specific period of time (per request @RequestScoped, per HTTP Session @SessionScoped, per application @ApplicationScoped, JSF Conversation @ConversationScoped, or per your custom scope implementation).
In EJB the container looks also into a hashmap if the bean is of type @Stateful. An @Stateful bean can also use any of the above scope annotations causing it to live and die with all the other beans in the scope. In EJB @Stateful is essentially the "any scoped" bean. The @Stateless is basically an instance pool -- you get an instance from the pool for the duration of one invocation. The @Singleton is essentially @ApplicationScoped
So in a fundamental level, anything you can do with an "EJB" bean you should be able to do with a "CDI" bean. Under the covers it's awfully hard to tell them apart. All the plumbing is the same with the exception of how instances are resolved.
They aren't currently the same in terms of the services the container will offer when doing this proxying, but as I say we're working on it at the Java EE spec level.

Performance note

Disregard any "light" or "heavy" mental images you may have. That's all marketing. They have the same internal design for the most part. CDI instance resolution is perhaps a bit more complex because it is slightly more dynamic and contextual. EJB instance resolution is fairly static, dumb and simple by comparison.
I can tell you from an implementation perspective in TomEE, there's about zero performance difference between invoking an EJB vs invoking a CDI bean.

Default to POJOs, then CDI, then EJB

Of course don't use CDI or EJB when there is no benefit. Throw in CDI when you start to want injection, events, interceptors, decorators, lifecycle tracking and things like that. That's most the time.
Beyond those basics, there are a number of useful container services you only have the option to use if you make your CDI bean also an EJB by adding@Stateful@Stateless, or @Singleton on it.
Here's a short list of when I break out the EJBs.

Using JAX-WS

Exposing a JAX-WS @WebService. I'm lazy. When the @WebService is also an EJB, you don't have to list it and map it as a servlet in the web.xml file. That's work to me. Plus I get the option to use any of the other functionality mentioned below. So it's a no-brainer for me.
Available to @Stateless and @Singleton only.

Using JAX-RS

Exposing a JAX-RS resource via @Path. I'm still lazy. When the RESTful service is also an EJB, again you get automatic discovery and don't have to add it to a JAX-RS Application subclass or anything like that. Plus I can expose the exact same bean as an @WebService if I want to or use any of the great functionality mentioned below.
Available to @Stateless and @Singleton only.

Startup logic

Load on startup via @Startup. There is currently no equivalent to this in CDI. Somehow we missed adding something like an AfterStartup event in the container lifecycle. Had we done this, you simply could have had an @ApplicationScoped bean that listened for it and that would be effectively the same as an @Singleton with @Startup. It's on the list for CDI 1.1.
Available to @Singleton only.

Working in Parallel

@Asynchronous method invocation. Starting threads is a no-no in any server-side environment. Having too many threads is a serious performance killer. This annotation allows you to parallelize things you do using the container's thread pool. This is awesome.
Available to @Stateful@Stateless and @Singleton.

Scheduling work

@Schedule or ScheduleExpression is basically a cron or Quartz functionality. Also very awesome. Most containers just use Quartz under the covers for this. Most people don't know, however, that scheduling work in Java EE is transactional! If you update a database then schedule some work and one of them fails, both will automatically cleaned up. If the EntityManager persist call fails or there is a problem flushing, there is no need to un-schedule the work. Yay, transactions.
Available to @Stateless and @Singleton only.

Using EntityManagers in a JTA transaction

The above note on transactions of course requires you to use a JTA managed EntityManager. You can use them with plain "CDI", but without the container-managed transactions it can get really monotonous duplicating the UserTransaction commit/rollback logic.
Available to all Java EE components including CDI, JSF @ManagedBean@WebServlet@WebListener@WebFilter, etc. The@TransactionAttribute annotation, however, is available to @Stateful@Stateless and @Singleton only.

Keeping JTA managed EntityManager

The EXTENDED managed EntityManager allows you to keep an EntityManager open between JTA transactions and not lose the cached data. Good feature for the right time and place. Use responsibly :)
Available to @Stateful only.

Easy synchronization

When you need synchronization, the @Lock(READ) and @Lock(WRITE) annotations are pretty excellent. It allows you to get concurrent access management for free. Skip all the ReentrantReadWriteLock plumbing. In the same bucket is @AccessTimeout, which allows you to say how long a thread should wait to get access to the bean instance before giving up.
Available to @Singleton beans only.

68 comments:

DaveL said...

Nice post. It seems to me that there is no compelling reason to use CDI if you use a stateless server architecture. Is this true? I use EJB + GWT RPC services and I don't see what value CDI would add.

David Blevins said...

There are definitely some cool parts in CDI. The stuff I like tends to be the parts people don't talk about much.

I absolutely love CDI Events. I probably overuse them, but really it's cool.

Simply put, "listeners" are an obvious good way to decouple code, so nothing new there. The neat twist is that you can skip all the plumbing entirely.

In terms of state, @RequestScoped can eliminate the need for any kind of ThreadLocal usage you might have had. Some more plumbing gone.

I should maybe do a post on it.

chpressler said...

i am still confused who actually does the injection. CDI or EJB Container?
When CDI is not enabled then the EJB Container will do the Injection for all @Resource, @EJB, etc.
When CDI is enabled will the CDI Container do that injection for EJB's or is still the EJB Container responsible for injecting EJB's (EJB Container understands the @Inject Annotation)?
Also the @EJB is recognized by JSF for DI in ManagedBeans, but in POJOS controlled by the CDI Container. (it will only work with @Inject in POJOs).
Is there a best practice which Annotation should be used? Would you reccomend to only use the @Inject when CDI is enabled and abandon the @EJB and @ManagedProperty Annotations?

Unknown said...

Thanks for this great post, David!

One point comes to mind: you never mention remote invocation of EJBs.

I am very interested on your opinion on this... Do you think that is not relevant anymore? That nobody uses it? Do you think that nobody should use remote EJBs anymore?

All the best,

Sébastien

Alexandre Héroux said...

EJB can be deployed on another server and be invoke with IIOP/CORBA. That feature allows processing to be dispatch between specialized servers. CDI reside only on your presentation server and can't be split.

BnB said...
This comment has been removed by the author.
BnB said...

Hi David,
Thank you for this post, We use CDI+JAX-RS+EJB 3 running on Websphere 8. A @Stateful is injected into JAX-RS at class level, How do i get the stateful across jax-rs calls in a single httpsession ? right now I put this @Stateful bean into HttpSession manually, is there a way we can achieve this by CDI ?

Patrik Varga said...

Very important yet unclear topic covered in a very concise summary. Great post, congrats David.

@BnB, have you tried simply annotating your stateful bean with @SessionScoped, in addition to @Stateful, and then injecting/using it wherever you want?

John said...

I think this was very helpful, understandable, and illuminating. I'm encouraged to ask this question here.

If I inject a managed bean into an EJB, the same instance of the managed bean is used in every call to method on the ejb.

@Stateless
class MyEjb {
@Inject MyCdiBean myCdiBean;
public void someMethod() {
// touches myCdiBean, always the same instance.
}

I'm wondering where the jee or cdi specification is detailing this behavior, and whether these specify a way to use a different instance of my CdiBean on every call to someMethod. Using @RequiredScope did not work.

Thanks,
John

Christian Schlichtherle said...

Maybe you should add message driven beans to the list. AFAIK you can't set a message listener within an enterprise app, so you have to use message driven beans.

congdoan said...

Thanks, this post help me a lot

Martin Andersson said...

Thank you for your commitment to the Java community and this excellent blog post! However, please revise your first statement: "EJBs are CDI beans". It is wrong and causes confusion. See commentary of http://stackoverflow.com/a/4705840/1268003

André said...

"In terms of state, @RequestScoped can eliminate the need for any kind of ThreadLocal usage you might have had. Some more plumbing gone.
I should maybe do a post on it."

Please, do it! :)

David Blevins said...

@Martin
I'm not sure I see where in Arjan's post the "EJBs are CDI beans" statement conflicts.

I can tell you from an EJB spec perspective we made the deliberate decision from the start of CDI to require that EJB implementations must support 100% of the CDI feature set on EJBs. Every aspect of CDI works on EJBs with the exception of scopes which we had to limit to @Stateful beans only.

Jean-Pierre Cuvelliez said...

Thank you for this post.

congdoan said...

Thanks, nice post

markmueller0815 said...

One thing to keep in mind though: EJB exception handling is very different from CDI. So you can not simply exchange a CDI for an EJB to get access to some EJB features.

Jamuna Pandy said...

Hi, This is Jamuna from Chennai. I am a technology freak. I have read your blog, its really useful for me. Recently I did Java Training in Chennai at a leading Java Training Institutes in Chennai. This is really helpful for me to make a bright career in IT industry.


Buy Flower said...

very useful article. I found this blog very later but I am glad I did. I am going to try these tips. Pune Online Florist

Richard Evans said...

CDI interceptors, altnernative, etc - been reading about them, seem really useful.

But if I want to switch between alternatives based on some runtime configuration - system property, etc, how do I do that?

All the docs I have read descrbibe configuring these in beans.xml which is static once my app is deployed.

Narender Godara said...

Packers and movers Allahabad
Packers and movers Ambala
Packers and movers Amritsar
Packers and movers Bangalore

Max Sinelnikov said...

Nice post!

@Richard Evans
I need to implement something similiar. Just use javax.enterprise.inject.Instance interface at the injection point and select bean using qualifiers.
Read Weld reference, especially chapter 4.10 http://docs.jboss.org/weld/reference/latest-2.2/en-US/html/injection.html#_obtaining_a_contextual_instance_by_programmatic_lookup for details.

amine lahragui said...

Your work is very good and I appreciate you and hopping for some more informative posts. happy new year 2016 new year 2016 bonne année 2016 happy new year 2016 images feliz año nuevo 2016 imagenes de año nuevo 2016 feliz año 2016

nitin chaturvedi said...

tamil movie reviews,Malayalam movie reviews,south indian movie reviews
reality shows winners,cash prize,watch in hd,full episode
Bollywood samachar,Bollywood news,current news,upcoming movies,songs reviews,trailer reviews
movies 1st first day collection status,movies gross collection,weekend collection,box office collection
telugu movies collection,gross total box office collection,1st day collection,weekend collection
movies public reviews,responses,critics reviews and ratings,star ratings, storyline storyplot
indian festivals,worldwide events,festivals,wishes,messages,quotes,status

Deepak Negi said...

Hey Guys Must Check these :-

I can do that live show
I can do that live telecast
I can do that Show live streaming
muharram 2015 Images
muharram 2015 Hd Wallpapers
Happy muharram 2015 Quotes
Muharram 2015 Slogans
muharram 2015 Karbala sms
Muharram 2015 Quotes
10 muharram 2015 Talwar Matam Videos
Muharram 2015 Zanjeer Juloos Videos
muharram 2015 Poems
Hazrat Hussain Poetry 2015
muharram 2015 Qawwali Mp3
10 Muharram 2015 shayari
Muharram 2015 Status
Labbaik ya hussain mp3 Songs
Hazrat Hussain Hd Images
Happy Childrens Day 2015 Images
Mastizaade Box Office Collection
Mastizaade Funny Scenes
Mastizaade hd Videos
Mastizaade Hot Scenes
Mastizaade Movie Review
Mastizaade Romantic Scenes
Mastizaade Songs
Mastizaade trailer film
World Aids Day 2015 Quotes
World Aids Day 2015 Posters
World Aids Day 2015 Themes
World Aids Day 2015 Slogans

Deepak Negi said...

Hey Guys Must Check these :-

I can do that live show
I can do that live telecast
I can do that Show live streaming
muharram 2015 Images
muharram 2015 Hd Wallpapers
Happy muharram 2015 Quotes
Muharram 2015 Slogans
muharram 2015 Karbala sms
Muharram 2015 Quotes
10 muharram 2015 Talwar Matam Videos
Muharram 2015 Zanjeer Juloos Videos
muharram 2015 Poems
Hazrat Hussain Poetry 2015
muharram 2015 Qawwali Mp3
10 Muharram 2015 shayari
Muharram 2015 Status
Labbaik ya hussain mp3 Songs
Hazrat Hussain Hd Images
Happy Childrens Day 2015 Images
Mastizaade Box Office Collection
Mastizaade Funny Scenes
Mastizaade hd Videos
Mastizaade Hot Scenes
Mastizaade Movie Review
Mastizaade Romantic Scenes
Mastizaade Songs
Mastizaade trailer film
World Aids Day 2015 Quotes
World Aids Day 2015 Posters
World Aids Day 2015 Themes
World Aids Day 2015 Slogans

mahjong said...

Really impressive post. I read it whole and going to share it with my social circules. I enjoyed your article and planning to rewrite it on my own blog.
mahjong | agario | minecraft|halloween | pacman| geometry dash | kizi | hulk | sniper games | games

Patrik Varga said...

Off-topic:

David, would you please consider closing comments or dealing with spam? Subscribers to your posts get notified about spam comments by email. It is rather annoying.

Thanks.

Mary Brown said...

Java EE article is practical oriented and real time examples. How Java EE address the enterprise development is very important. for that you need a practical orieneted Java Training you need.

Online Java EE Training
Online Java Training from India
Java Training Institutes in Chennai
Java Training in Chennai
Java Training

Melisa said...

Thanks for sharing this niche useful informative post to our knowledge, Actually SAP is ERP software that can be used in many companies for their day to day business activities it has great scope in future.
Regards,
SAP training in chennai|SAP Institutes in Chennai|SAP Training Chennai|sap training in Chennai

Amirtha rao said...

Pretty Post! It is really interest to read from the beginning & I would like share your blog to my circles for getting awesome knowledge, keep your blog as updated.
Regards,
Angularjs training in chennai|Angular training in chennai|Angular courses in Chennai

asds said...

christmas Quotes
christmas messages
funny christmas quotes

Happy Mothers Day
Happy Mothers Day 2016
Happy Mother's Day
Happy Mother's Day 2016

Happy Mothers Day
Happy Mothers Day 2016
Happy Mother's Day
Happy Mother's Day 2016

Happy Mothers Day
Happy Mothers Day 2016
Happy Mother's Day
Happy Mother's Day 2016

Happy New Year
Happy New Year 2016
chinese new year 2016
chinese new year

Valentines 2016
Happy Valentines 2016
Happy Valentines
Valentine's 2016

happy father's day
happy father's day 2016
father's day 2016

happy father's day
happy father's day 2016
father's day 2016

happy valentines day quotes
valentines day quotes
Happy Valentine Day Quotes For Husband

Funny Valentines Day Quotes
Valentine Week List 2016
Valentines Day Quotes
Happy Valentines Day Quotes

asds said...

merry christmas messages
merry christmas messages
merry christmas greetings

mothers day quotes
mothers day messages
mothers day poems

fathers day quotes
fathers day messages
fathers day poems

short christmas quote
Funny valentines day quotes
Funny valentines day quotes
Christmas Greetings

Christmas Wishes Images
Christmas Messages
Best Christmas Quotes
valentines day quotes
funny valentines day quotes

asds said...

Happy Valentines Day Quotes
Happy New Year Wishes
Religious Christmas Quotes
Christmas Card Sayings

Christmas wishes messages
Christmas Tree Quotes
Christmas Card Message

Christmas Images with Quotes
Christmas Messages For Friends
Merry Christmas Messages

Christmas Movie Quotes
Christmas Love Quotes For Her
Christmas Love Quotes For him
Christmas Wishes Quotes

Inspirational Christmas Quotes
famous christmas quotes
cute christmas quotes

christmas quotes for friends
short christmas messages
short christmas Quotes
funny Merry christmas quotes

Happy New Year Quotes

Dallas Larden said...

Thanks for sharing it!!!

Crazy Bulk

asds said...

Inspirational Love Quotes
Love Quotes
Inspirational Quotes

Inspirational Quotes
Love Quotes
Photoshop Tutorials

Happy Mothers Day
Happy Mother's Day
Happy Mothers Day 2016
Happy Mother's Day 2016
Mothers Day 2016
Mother's Day 2016

happy mothers day quotes
happy mothers day messages
happy mothers day poems

mothers day quotes from daughter
mothers day quotes from son
mothers day quotes from husband to wife

mothers day quotes from family
mothers day quotes
mothers day messages

mothers day poems
mothers day poems from daughter
funny mothers day quotes

funny mothers day messages
funny mothers day sayings
mothers day sayings

mothers day love quotes
inspirational mothers day quotes

asds said...

Happy Mothers Day
Happy Mother's Day
Happy Mothers Day 2016

Happy Mother's Day 2016
Mothers Day 2016
Mother's Day 2016
Happy Mothers Day
Happy Mother's Day
Happy Mothers Day 2016

Happy Mother's Day 2016
Mothers Day 2016
Mother's Day 2016

asds said...

Happy fathers Day
Happy father's Day
Happy fathers Day 2016

Happy father's Day 2016
fathers Day 2016
father's Day 2016

father's day
fathers day

fathers day quotes
fathers day messages
fathers day poems
Happy fathers Day
Happy father's Day
Happy fathers Day 2016

Happy father's Day 2016
fathers Day 2016
father's Day 2016

Happy Father’S Day 2016 Quotes

asds said...

Wishes Quotes
Wishes Quotes Greetings
Easter Sunday
Easter Sunday 2016
Recover Deleted Files on Android
Apple iPad Mini 4 Cases and Covers
Online Music Identification Services

Multiplayer Games for your iPhone
Free Stock Photo Websites
Design Resources

Free Android Apps
Improve the Performance of Android Tablet
Screen Recording Software
Screen Sharing Software for Remote Access

asds said...

Valentines day 2016
Happy Valentines day 2016
Happy Valentines day
Valentine's day 2016

Happy Valentine Day Quotes For Husband
kiss quotes for her
kiss quotes for girlfriend

happy valentines day 2016
valentines day 2016
valentine's day 2016

happy propose day
valentines day quotes
happy valentines day quotes
happy valentines day quotes

kiss quotes for boyfriend
anti valentines day quotes
anti valentines day quotes

propose day sms
short valentines day poems

valentines day poems for her
valentines day poems for girlfriend
Happy Rose Day Quotes SMS And Sayings

Happy Propose Day SMS - Messages For Him And Her
Valentines Day Quotes
Happy Chocolate Day Love Quotes

asds said...

Happy Chocolate Day Sms Messages
Valentines Day Gifts For Her
Cheap Valentines Day Cards

Cute Valentines Day Quotes
Valentines Day Poems For Him
Happy Valentines Day Whatsapp Messages

Valentines Day Ideas For Kids
Valentines Day Pick Up Lines
Happy Chocolate Day Quotes For Him And Her

happy valentines day quotes
valentines day quotes
Happy Valentine Day Quotes For Husband

asds said...

Valentines day 2016
Happy Valentines day 2016
Happy Valentines day
Valentine's day 2016

Funny Valentines Day Quotes
Valentine Week List 2016
Valentines Day Quotes
Happy Valentines Day Quotes
fathers day quotes
fathers day messages
fathers day poems

Easter Quotes From The Bible
Happy Easter Quotes
Easter Quotes

gaurav joshi said...

valentines day 2016 ideas

valentines day sms 2016

valentines day 2016 wishes

valentines day quotes

valentines day greetings

valentines day message

rahhul said...

happyhugday.com
www.happyhugday.com
happy hug day
happy hug day images
happy hug day quotes
happy hug day pics
happy hug day wallpaper
happy hug day messages
happy hug day wallpapers
happy hug day photo
happy hug day sms
happy hug day pictures
happy hug day 2016
happy hug day photos
happy hug day for friends
happy hug day date
happy hug day msg
hug day special sms
happy hug day shayari
happy hug day picture
happy hug day wishes
sms for hug day
sms on hug day
hug day sms love
valentine hug day sms
best hug day sms

rahhul said...

http://republicdayquotes2016.com
http://republicdayquotes2016.com/happy-26th-january-republic-day-pictures/
http://republicdayquotes2016.com/indian-flag-pictures-images-for-republic-day-2016/
http://republicdayquotes2016.com/happy-republic-day-2016-sms-wishes/
http://republicdayquotes2016.com/happy-republic-day-quotes-in-hindi/
http://republicdayquotes2016.com/why-is-republic-day-celebrated-in-india-on-26th-january/
http://republicdayquotes2016.com/happy-republic-day-2016-quotes-in-english/
http://republicdayquotes2016.com/happy-republic-day-2016-speech-essay-paragraph-for-school-students/
http://republicdayquotes2016.com/republic-day-2016-slogan-poster-sayings/
http://republicdayquotes2016.com/happy-republic-day-2016-whatsapp-status-whatsapp-dp/
http://republicdayquotes2016.com/famous-republic-day-images-quotes-26th-january-2016/

Republic Day 2016 Slogan | Poster | Sayings

Happy Republic Day 2016 Whatsapp Status & Whatsapp DP

Famous Republic Day Images with Quotes on 26th January 2016

Happy Republic Day 2016 Speech | Essay | Paragraph for School Students

Happy Republic Day 2016 Quotes in English

Happy 26th January Republic Day Pictures

Indian Flag Pictures – Images for Republic Day 2016 (गणतंत्र दिवस)

Happy Republic Day 2016 Sms Wishes

Happy Republic Day 2016 Quotes in Hindi

Why is Republic Day Celebrated in India on 26th January

New Year 2016 said...

Valentine messages, quotes, letters & cards.Celebrate Happy Valentines day 2013 with the best Valentines Pictures, Valentine Messages, Valentines Quotes, Valentine's Day Gifts, Cards. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him,happy new year 2016 hd wall papers,quotes,greeetings,hd images and sms.



t20 world cup 2016 Live Streaming, live score, schedule in pdf, match preview, prediction, highlight, bit, live telecast, fixtures, World Cup venues, stadiums, teams,t20 world cup 2016 theme song, Pools, 2016 t20 world cup india vs pak,ICC T20 Live Streaming - T20 World Cup 2016 Schedule, Time Table, Fixtures, Teams, icc t20 live streaming 216 india vs pakistan,icc t20 live scores 2016 , icc t20 pakistan vs india scores,icc t20 india vs pakistan live streaming india, ICC T20 WC Live Streaming Score. t20 world cup 2016 Live Streaming, live score, schedule in pdf, match preview, prediction, highlight, bit, live telecast, fixtures, World Cup venues, stadiums, teams,t20 world cup 2016 theme song, Pools, 2016 t20 world cup india vs pak,ICC T20 Live Streaming - T20 World Cup 2016 Schedule, Time Table, Fixtures, Teams, ICC T20 WC Live Streaming Score.




Valentine messages, quotes, letters & cards.Celebrate Happy Valentines day 2013 with the best Valentines Pictures, Valentine Messages, Valentines Quotes, Valentine's Day Gifts, Cards. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him,happy new year 2016 hd wall papers,quotes,greeetings,hd images and sms..




http://www.greetingsbus.com

http://www.valentinesday2016-images.com

http://www.icct20livestreaming.com

New Year 2016 said...

Valentine messages, quotes, letters & cards.Celebrate Happy Valentines day 2013 with the best Valentines Pictures, Valentine Messages, Valentines Quotes, Valentine's Day Gifts, Cards. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him,happy new year 2016 hd wall papers,quotes,greeetings,hd images and sms.



t20 world cup 2016 Live Streaming, live score, schedule in pdf, match preview, prediction, highlight, bit, live telecast, fixtures, World Cup venues, stadiums, teams,t20 world cup 2016 theme song, Pools, 2016 t20 world cup india vs pak,ICC T20 Live Streaming - T20 World Cup 2016 Schedule, Time Table, Fixtures, Teams, icc t20 live streaming 216 india vs pakistan,icc t20 live scores 2016 , icc t20 pakistan vs india scores,icc t20 india vs pakistan live streaming india, ICC T20 WC Live Streaming Score. t20 world cup 2016 Live Streaming, live score, schedule in pdf, match preview, prediction, highlight, bit, live telecast, fixtures, World Cup venues, stadiums, teams,t20 world cup 2016 theme song, Pools, 2016 t20 world cup india vs pak,ICC T20 Live Streaming - T20 World Cup 2016 Schedule, Time Table, Fixtures, Teams, ICC T20 WC Live Streaming Score.




Valentine messages, quotes, letters & cards.Celebrate Happy Valentines day 2013 with the best Valentines Pictures, Valentine Messages, Valentines Quotes, Valentine's Day Gifts, Cards. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him. Valentines day, Love Quotes, valentines day 2016 images, valentines day messages 2016, valentines day sms 2016,valentines day 2016 messages and sms, valentines day 2016 greetings, valentines day poems 2016,valentines day 2016,valentines day quotes 2016,valentines day 2016 quotes,valentines day hd images 2016 Love Poems, Love Messages, Relationships, Gift Ideas,Get Happy Valentines Day 14th feb 2016 wallpaper, celebration ideas, Date & clothings ideas, Messages, Quotes, Gifts hints for her and him,happy new year 2016 hd wall papers,quotes,greeetings,hd images and sms..




http://www.greetingsbus.com

http://www.valentinesday2016-images.com

http://www.icct20livestreaming.com

rahhul said...

happyproposedayimages.com
www.happyproposedayimages.com
happy propose day
happy propose day images
happy propose day quotes
happy propose day shayari
happy propose day sms
happy propose day quotes in hindi

sam Day12 said...

I loved your website hope You will like my content on 26th January 2016
26 January 2016 Speech In Hindi
Happy Republic Day 2016 Speech for School
Happy Republic Day 2016 Speech In Hindi
26 January 2016 Speech In English
Happy Republic Day 2016 Speech In English


Happy Republic Day 2016 Hd Images
Happy Republic Day 2016 Whatsapp Status
26 January Republic Day 2016 Speech For Student
Happy Republic Day 2016 Wishes Sms
Happy Republic Day 2016 Essay For Kids
26 January 2016 Motivational Thoughts

rahhul said...

Valentine day picture message & wishes for best-friend
Happy Valentines day pictures images photos free download 2016
Happy Valentines day picture quotes & sayings
Happy valentines day Picture for lover & couple
Beautiful Valentines Pictures coloring gallery 2016
happy valentine day pictures
valentines day pictures images photos
valentines pictures free
happy valentines pictures
cute valentine pictures
cute valentines day pictures
happy valentine pictures
valentines day pictures hearts
pictures for valentines day
valentine wallpaper pictures
beautiful valentines pictures
valentine heart pictures

Nikita Friend said...

Xender on Computer is best file transfer application: Forpcapp.com/download-xender
SHAREit apk file is best thing: Fileshareforpc.com - SHAREit APK

Baba Adam said...


Valentine Week List 2016 Date
Valentine Week List 2016 Date
Special Happy Valentine Day Wishes
Happy Valentine’s Day SMS for Her Him
Happy Promise Day SMS for Girlfriend Boyfriend
Happy Hug Day Wishes

Vandana Singh said...

Hello! Would you mind if I share your blog with my facebook group?
There’s a lot of folks that I think would really enjoy your content. Please let me know. Many thanks
Happy Valentines Day Cards 2016
Valentines Day 2016 Greeting Cards
www.valentinesdaycards-2016.com
Valentinesdaycards-2016.com
Valentines Day Cards 2016
Download HD Valentines Day Cards 2016
Whatsapp Status Valentines Day 2016
Valentines Day Cards Wallpapers 2016
Happy Valentines Day SMS Shayari
Valentines Day Cards Gift Ideas

Good day! This is my first comment here so I just wanted to give a quick shout out and say I truly enjoy reading through your articles.
Can you recommend any other blogs/websites/forums that deal
with the same subjects? Appreciate it!

www.valentinesday2016-cards.in
valentinesday2016-cards.in
Valentines Day Cards 2016
Valentines Day 2016 Whatsapp Status
Valentines Day Love Wishes
Special Valentines Day 2016 Wallpapers
Valentines Day Romantic Hindi Shayari
Rose Day Shayari In Hindi 2016
Download Valentines Day 2016 Wallpapers
Valentines Day Greeting Cards

Priyanka Sharma said...

Current News And updates |

Omkar kapoor |

Airtel 4g Girl |

Serial Ye hain Mohhabtein |

Funny Valentines day messages |

Chocolate day Messages |

Happy Valentines day 2016 Wallpapers |

Valentines day Messages |

Latest Bikes IN INdia |

Valentines day 2016 pictures |

Teddy Day pictures

Aman Sharma said...

Don't Forget For Visit Our Given Below Links
Valentines Day 2016 Images
Valentines Day Unique Gift Ideas
Maha Shivratri 2016 Images
IPL 2016 Prediction
IPL 2016 Live Scores
ICC World Cup 2016 Live Score
ICC World Cup 2016 Prediction
Rose day 2016 Images
Happy Propose day 2016 Wishes
Whatsapp DP Images

Valentines Day Whatsapp Images
Valentines Day 2016 HD Images
Valentines Day HD Images
Happy Valentines Day 2016 Pics
Rose Day 2016 Images
Happy Propose Day Images
Chocolate Day 2016 Images
Teddy Day HD Images
Promise Day 2016 Images
Happy Promise Day 2016 Images
Teddy Day Whatsapp Images
Chocolate Day 2016 Wishes
Propose Day 2016 HD Pics
Rose Day 2016 Real Rose
Happy Valentines Images for Facebook
Propose day whatsapp Images
Valentines Day Images for FB


Jawad Zaib said...

Your Site Is Very Good and The Post is Well On Topic, Thanks for Sharing it with us.

New Songs 2016
Ghulam Ali to perform in Kolkata
UAF expels gold medallist over Facebook post
Shahid Afridi hammers journalist
apple iphone 7 live streaming
Peshawar Zalmi Pakistan Super League 2016
sad poetry urdu 2016
New Video Songs HD 2016
Romantic urdu shayari 2016

Bahubali Kathappa said...

happy valentine's day 2016

Latest valentines day messages wishes sms 2016

Latest valentines day quotes messages sms 2016

happy valentine's day sms 2016

happyvalentinesdays2016

Della Daviswb said...

Teddy Bear Day
Valentine Day Cards Images
Valentine Day Free Images
Valentine Day Images
Teddy Day Ideas
Valentine Day Gift Ideas
Happy Chocolate Day
Happy Valentine Day Images
Chocolate Day SMS
Valentine Day Animated Pictures
Happy Valentines Day Quotes
Valentine Day ideas for Facebook
Happy Valentine Day Gifts
Teddy Bear Day Gift
Valentine day Shayari
Valentines Day Clipart
Chocolate Day Ideas
Happy Chocolate Day Images
Rose Day Gift Ideas

Ankit Das said...

Want to surprise your valentine on this valentine day???? Visit it to get Valentines Day Images,Wishes,Plans and surprises for your valentine...
Happy Valentines Day 2016

Valentines Day Images

Happy Valentines Day Images

Rose Day SMS

Rose Day Quotes

Rose Day Wishes

Raja Shrama said...

happyproposedayimages.com
www.happyproposedayimages.com
happy propose day
happy propose day images
happy propose day quotes
happy propose day shayari
happy propose day sms
happy propose day quotes in hindi
happy propose day photo
happy propose day pics
happy propose day wallpaper
happy propose day wishes
happy propose day messages
happy propose day photos
pics for propose day
propose day pics download
quotes of propose day
propose day photo download
propose day pics free download
messages for propose day
pics of happy propose day
happy propose day wallpapers
quotes about propose day
happy propose day message
photos for propose day
romantic propose quotes
propose day text messages
propose day wallpapers download
happy propose day photo download
wallpapers for propose day
download pics of propose day
propose day special wallpaper
photos of happy propose day
happy propose day 2016
propose day special pics
happy propose day status
pictures of propose day
happy propose day pictures
propose day pics download free
images of propose day free download
happy propose day msg
propose day photos download
happy propose day photos download
pictures for propose day

PSL 2016 said...

ball by ball cricket score


cricket today prediction


Asia cup t20 match prediction


WC t20 live score


World cup 2016 live score online




Asia cup 2016 live score


World cup t20 match prediction


2016 today prediction


T20 world cup 2016 live score


t20 world cup live score 2016
T20 Asia cup 2016 Schedule

Asia Cup matches prediction

Asia cup 2016 prediction

Asia cup t20 match prediction

Kajal Sharma said...

Kasse neuesten und Bilder Tag 2016 der frisch Valentine, Zitate, Tapeten und alles über diese Valentinstag Film 2016

Baba Adam said...

fan box office prediction shahrukh khan
fan box office prediction shahrukh khan
fan box office prediction shahrukh khan
fan movie first look official teaser
fan movie first look official teaser
fan box office prediction

Ankit Das said...

Happy Valentines Day 2016

Valentines Day Images

Happy Valentines Day Images

Valentines Day 2016 Images

Ankit Das said...

Euro Cup 2016
Euro Cup live Streaming
Euro Cup 2016 Live Streaming
Euro Cup 2016 Live Score
Euro Cup 2016 Schedule
Euro Cup 2016 Fixture

Dinesh lal said...

Packers and Movers Hyderabad
Packers and Movers Pune
Packers and Movers Bangalore

Dinesh lal said...

Packers and Movers Mumbai
Packers and Movers Delhi
Packers and Movers Gurgaon

Dinesh lal said...

Packers and Movers Chennai
Packers and Movers Noida
Packers and Movers Navi Mumbai
Packers and Movers Thane
Packers and Movers Ghaziabad
Packers and Movers Faridabad