EJB Messaging, Part II: Message-Driven Beans

EJB Messaging, Part II: Message-Driven Beans

nterprise messaging has become an increasingly important component of loosely coupled, reliable enterprise frameworks. This is due in large part to the proliferation of enterprise applications (CRM, ERP, SCM, etc.) and disparate enterprise resources (RDBMS/OODBMS, legacy data store, data warehouse, XML/flat file repository, etc.), and the increasing need to integrate these applications into cohesive systems.

Enterprise Java Beans have served as a solution for this new messaging paradigm. The Enterprise Java Beans 2.0 specification defines a new type of enterprise bean to complement the four types of Enterprise Java Beans (EJBs) currently available (two session types and two entity types). The new bean type, Message-Driven Beans (MDBs), provides a reusable J2EE messaging component that can leverage existing investments in J2EE application servers, specifically EJBs.

This second article in a two-part series examining the messaging options available to EJB developers explores Message-Driven Beans. (The first explored the Java Message Service and JavaMail APIs as enterprise resources.)

Author’s Note: This 10-Minute Solution is intermediate to advanced. It requires a fundamental knowledge of several Enterprise Java APIs, including EJB, JMS, JavaMail, and JNDI.



What are Message-Driven Beans and how do they compare with the other EJB messaging components?



EJB 2.0 Message-Driven Beans are a new bean type. They provide a reusable J2EE messaging component that can leverage existing investments in J2EE application servers, specifically EJBs. They can offer a more robust and scalable enterprise messaging solution.

MDBs: EJB and JMS Interfaces in One
Message-Driven Beans do not follow the typical pattern for EJB interface implementation, because an MDB is a cross between a stateless session EJB and a JMS client. Rather than defining EJB component interfaces, MDBs implement two interfaces: one is an EJB interface and the other is a JMS interface. The following code is a sample of an MDB class signature:

public class MessageBean implements MessageDrivenBean, 
MessageListener

The first interface, javax.ejb.MessageDrivenBean, is the bean’s interface to the container. It allows the EJB container to manage the MDB, just as the container manages session and entity beans. The second interface, javax.jms.MessageListener, allows the bean to register with a JMS-enabled MOM (messaging-oriented middleware) server as a JMS listener.

As full-fledged JMS clients, MDBs can both send and receive messages asynchronously via a MOM server. As enterprise beans, MDBs are managed by the container and declaratively configured by an EJB deployment descriptor:

      MyMessageBean   com.gabhart.ejb.messaging.MessageBean   Container       javax.jms.Queue     …. 

All of these element names should look familiar except for two:

  • This element represents the bean type. It is a direct parallel for the elements and .
  • This element indicates the JMS destination type (topic or queue) to which the MDB will bind.
  • When an EJB application server starts, it parses the deployment descriptors and then loads and initializes the declared beans. In the case of a message bean, the container establishes a connection with the messaging provider (MOM server). Clients access message beans through the bean’s JMS interface (javax.jms.MessageListener), which exposes a single method:

    public void onMessage(javax.jms.Message message)

    The JMS specification defines this interface as a standard interface for listening on a JMS destination. This allows the bean to asynchronously receive JMS messages published to the destination (topic or queue) with which this bean has registered. In this way, the message bean functions as a full-fledged JMS client, indistinguishable from any other JMS client.

    When a message arrives, the container ensures that a message bean corresponding to the message topic/queue exists (instantiating it if necessary) and calls its
    onMessage() method passing the client’s message as the single argument into the method.

    In addition to functioning as asynchronous JMS clients, message beans also support message concurrency. Since message beans are stateless and managed by the container, they can both send and receive messages concurrently (the container simply grabs another bean out of the pool). This, combined with the inherent scalability of EJB application servers, produces a very robust and scalable enterprise messaging solution.

    MDBs vs. JMS vs. JavaMail for EJB Messaging
    So how do message-driven beans stack up against other EJB messaging options? It depends upon what your architecture requires. Below are a sampling of architectural requirements and the appropriate EJB messaging component (MDB, JMS Resource, JavaMail Resource) to meet that requirement:

  • Asynchrony (receive) Message-driven bean
  • Asynchrony (send) Any of the three
  • Concurrency Message-driven bean
  • EJB Transactional Support JMS Resource or JavaMail Resource
  • E-mail Support JavaMail Resource
  • Guaranteed Delivery Any of the three
  • Non-JMS Client Access (RMI) Session bean with JMS Resource
  • Stateful Message Sender Stateful Session bean with JMS Resource

    The above list represents only a handful of the architectural possibilities and various considerations when selecting an appropriate EJB messaging component. In practice, you will often find yourself using a combination of these components to arrive at a particular messaging solution.

    Messaging Provides Abstraction Layer
    Enterprise messaging is a powerful tool that lends tremendous flexibility and reliability to any enterprise architecture. In our world of increasingly disparate components and backend systems, messaging provides a clean abstraction layer that affords the right balance between system coupling and effective system communication.

  • devx-admin

    devx-admin

    Share the Post:
    USA Companies

    Top Software Development Companies in USA

    Navigating the tech landscape to find the right partner is crucial yet challenging. This article offers a comparative glimpse into the top software development companies

    Software Development

    Top Software Development Companies

    Looking for the best in software development? Our list of Top Software Development Companies is your gateway to finding the right tech partner. Dive in

    India Web Development

    Top Web Development Companies in India

    In the digital race, the right web development partner is your winning edge. Dive into our curated list of top web development companies in India,

    USA Web Development

    Top Web Development Companies in USA

    Looking for the best web development companies in the USA? We’ve got you covered! Check out our top 10 picks to find the right partner

    Clean Energy Adoption

    Inside Michigan’s Clean Energy Revolution

    Democratic state legislators in Michigan continue to discuss and debate clean energy legislation in the hopes of establishing a comprehensive clean energy strategy for the

    Chips Act Revolution

    European Chips Act: What is it?

    In response to the intensifying worldwide technology competition, Europe has unveiled the long-awaited European Chips Act. This daring legislative proposal aims to fortify Europe’s semiconductor

    USA Companies

    Top Software Development Companies in USA

    Navigating the tech landscape to find the right partner is crucial yet challenging. This article offers a comparative glimpse into the top software development companies in the USA. Through a

    Software Development

    Top Software Development Companies

    Looking for the best in software development? Our list of Top Software Development Companies is your gateway to finding the right tech partner. Dive in and explore the leaders in

    India Web Development

    Top Web Development Companies in India

    In the digital race, the right web development partner is your winning edge. Dive into our curated list of top web development companies in India, and kickstart your journey to

    USA Web Development

    Top Web Development Companies in USA

    Looking for the best web development companies in the USA? We’ve got you covered! Check out our top 10 picks to find the right partner for your online project. Your

    Clean Energy Adoption

    Inside Michigan’s Clean Energy Revolution

    Democratic state legislators in Michigan continue to discuss and debate clean energy legislation in the hopes of establishing a comprehensive clean energy strategy for the state. A Senate committee meeting

    Chips Act Revolution

    European Chips Act: What is it?

    In response to the intensifying worldwide technology competition, Europe has unveiled the long-awaited European Chips Act. This daring legislative proposal aims to fortify Europe’s semiconductor supply chain and enhance its

    Revolutionized Low-Code

    You Should Use Low-Code Platforms for Apps

    As the demand for rapid software development increases, low-code platforms have emerged as a popular choice among developers for their ability to build applications with minimal coding. These platforms not

    Cybersecurity Strategy

    Five Powerful Strategies to Bolster Your Cybersecurity

    In today’s increasingly digital landscape, businesses of all sizes must prioritize cyber security measures to defend against potential dangers. Cyber security professionals suggest five simple technological strategies to help companies

    Global Layoffs

    Tech Layoffs Are Getting Worse Globally

    Since the start of 2023, the global technology sector has experienced a significant rise in layoffs, with over 236,000 workers being let go by 1,019 tech firms, as per data

    Huawei Electric Dazzle

    Huawei Dazzles with Electric Vehicles and Wireless Earbuds

    During a prominent unveiling event, Huawei, the Chinese telecommunications powerhouse, kept quiet about its enigmatic new 5G phone and alleged cutting-edge chip development. Instead, Huawei astounded the audience by presenting

    Cybersecurity Banking Revolution

    Digital Banking Needs Cybersecurity

    The banking, financial, and insurance (BFSI) sectors are pioneers in digital transformation, using web applications and application programming interfaces (APIs) to provide seamless services to customers around the world. Rising

    FinTech Leadership

    Terry Clune’s Fintech Empire

    Over the past 30 years, Terry Clune has built a remarkable business empire, with CluneTech at the helm. The CEO and Founder has successfully created eight fintech firms, attracting renowned

    The Role Of AI Within A Web Design Agency?

    In the digital age, the role of Artificial Intelligence (AI) in web design is rapidly evolving, transitioning from a futuristic concept to practical tools used in design, coding, content writing

    Generative AI Revolution

    Is Generative AI the Next Internet?

    The increasing demand for Generative AI models has led to a surge in its adoption across diverse sectors, with healthcare, automotive, and financial services being among the top beneficiaries. These

    Microsoft Laptop

    The New Surface Laptop Studio 2 Is Nuts

    The Surface Laptop Studio 2 is a dynamic and robust all-in-one laptop designed for creators and professionals alike. It features a 14.4″ touchscreen and a cutting-edge design that is over

    5G Innovations

    GPU-Accelerated 5G in Japan

    NTT DOCOMO, a global telecommunications giant, is set to break new ground in the industry as it prepares to launch a GPU-accelerated 5G network in Japan. This innovative approach will

    AI Ethics

    AI Journalism: Balancing Integrity and Innovation

    An op-ed, produced using Microsoft’s Bing Chat AI software, recently appeared in the St. Louis Post-Dispatch, discussing the potential concerns surrounding the employment of artificial intelligence (AI) in journalism. These

    Savings Extravaganza

    Big Deal Days Extravaganza

    The highly awaited Big Deal Days event for October 2023 is nearly here, scheduled for the 10th and 11th. Similar to the previous year, this autumn sale has already created

    Cisco Splunk Deal

    Cisco Splunk Deal Sparks Tech Acquisition Frenzy

    Cisco’s recent massive purchase of Splunk, an AI-powered cybersecurity firm, for $28 billion signals a potential boost in tech deals after a year of subdued mergers and acquisitions in the

    Iran Drone Expansion

    Iran’s Jet-Propelled Drone Reshapes Power Balance

    Iran has recently unveiled a jet-propelled variant of its Shahed series drone, marking a significant advancement in the nation’s drone technology. The new drone is poised to reshape the regional

    Solar Geoengineering

    Did the Overshoot Commission Shoot Down Geoengineering?

    The Overshoot Commission has recently released a comprehensive report that discusses the controversial topic of Solar Geoengineering, also known as Solar Radiation Modification (SRM). The Commission’s primary objective is to

    Remote Learning

    Revolutionizing Remote Learning for Success

    School districts are preparing to reveal a substantial technological upgrade designed to significantly improve remote learning experiences for both educators and students amid the ongoing pandemic. This major investment, which

    Revolutionary SABERS Transforming

    SABERS Batteries Transforming Industries

    Scientists John Connell and Yi Lin from NASA’s Solid-state Architecture Batteries for Enhanced Rechargeability and Safety (SABERS) project are working on experimental solid-state battery packs that could dramatically change the

    Build a Website

    How Much Does It Cost to Build a Website?

    Are you wondering how much it costs to build a website? The approximated cost is based on several factors, including which add-ons and platforms you choose. For example, a self-hosted