1. Giới thiệu:
A Message-Driven Bean (MDB) là một bean doanh nghiệp hóa để có thể cho phép các ứng dụng Java EE đồng bộ hóa quá trình message.
MDB hoạt động tương tự như
JMS: Java Message Service nhưng nhận tin nhắn dễ dàng hơn.
Để dễ dàng hơn chúng ta sẽ làm một ứng dụng nhỏ có sử dụng MDB.
Sơ đồ thể hiện vai trò của MDB
2. Thực hành:
Đề bài được giao cho lần này:
"Alpha is the name of a mail-order company. You are part the team that is developing a solution for automating the processes involved between order logging, invoicing, and the shipment of goods. You have to develop a message-driven bean that acts as an intermediary between the sub-systems that constitute the solution. Each of the subsystems is implemented in the form of entity beans. The first subsystem is where the orders are logged. As soon as the order is registered, a message is sent from the Order subsystem to the message-driven bean. The message-driven bean, in turn calls the other two subsystems, Invoicing and Shipping to proceed with the order. In other words, the message-driven bean that you develop should act as a trigger for the other two subsystems."
"Bạn là thành viên trong một công ty nhận order thư điện tử. Các đơn hàng đã đặt sẽ được lưu vào hệ thống và nhiệm vụ của bạn sẽ là gửi những bức thư đó tới nơi họ đã yêu cầu."
Gõ localhost:4848 trên trình duyệt để chạy Server GlassFish
Trong giao diện JMS Destination Resources, tạo mới
Đặt tên cho Resource
Kết quả sau khi tạo xong
Tiếp theo vào NetBeans để tạo mới Project
Tiếp tục tạo một class JSF Managed Bean (hoặc vào Other - JavaServer Beans)
Sau khi tạo xong, trong class đó, bạn click chuột phải và chọn Send JMS Message như hình dưới
Giao diện Send JMS Message hiện ra, nhấn tiếp OK
Kết quả sau khi add
Gợi ý thêm các biến cần thiết
Trang giao diện JSF
Tiếp theo ta tạo một EJB Module
Ta tiếp tục tạo một Message-Drive Bean
Chạy thử ứng dụng
3. Nhận xét:
Nhìn chung MDB có các cấu trúc và tính chất giống như JMS. Nhưng như mình nói ở trên thì MDB có nhiều chức năng hỗ trợ tốt hơn hẳn so với JMS. Và điều đặc biệt mà MDB có đó là nó có thể xử lí nhiều yêu cầu cùng một lúc thay vì hạn chế một yêu cầu như JMS.