Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A Gentle Introduction to JMS 2

DZone's Guide to

A Gentle Introduction to JMS 2

· Java Zone
Free Resource

Build vs Buy a Data Quality Solution: Which is Best for You? Gain insights on a hybrid approach. Download white paper now!

My well-respected colleague and good friend Arun Gupta continues his admirable effort to provide some very early coverage of Java EE 7 features. I thought I'd highlight his blog entry on the core of the JMS 2 API written in this vein.

The primary goal of JMS 2 is to modernize the extremely widely used but very dated JMS API. The core of these changes is the aptly named simplified API founded upon injectable JMS contexts. The JMS context essentially represents the JMS API reimagined (without any feature loss) using up-to-date API design constructs like dependency injection, automatic life-cycle management, annotations, the builder pattern, unchecked exceptions and intelligent defaults.

In his blog entry, Arun does a good job of explaining the basic concepts of the JMS context. He explains through downloadable code examples sending and receiving messages in the brave new world of JMS 2. He also shows the very powerful capability of defining JMS resources inside your application through annotations. The blog entry is a great starting point for beginning to explore the changes in JMS 2.

 

Build vs Buy a Data Quality Solution: Which is Best for You? Maintaining high quality data is essential for operational efficiency, meaningful analytics and good long-term customer relationships. But, when dealing with multiple sources of data, data quality becomes complex, so you need to know when you should build a custom data quality tools effort over canned solutions. Download our whitepaper for more insights into a hybrid approach.

Topics:

Published at DZone with permission of Reza Rahman, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}