Bạn rất có thể viết bài xích mới.Bạn rất có thể "đặt hàng" nội dung bài viết.Mọi cụ thể xin mail về đến người sáng tác blog. Xin chân thành cảm ơn sự cộng tác của những bạn!

Recent Posts

Archives

ArchivesSelect Month August 2011 (1) March 2011 (1) June 2010 (1) January 2010 (1) September 2009 (1) May 2009 (1) March 2009 (1) December 2008 (3) November 2008 (1) October 2008 (1) October 2007 (1)

Subscribe

Các bình luận ngay sát đây

Các trang được yêu thích


Đừng suy nghĩ các bạn được bao nhiêu điểm. Đừng suy nghĩ bạn học sinh hoạt trường nào. Đừng nghĩ bạn xuất sắc nghiệp một số loại gì. Hãy nghĩ: MÌNH CÓ GÌ TRONG ĐẦU.

Bạn đang xem: Jms là gì


Pages

C#CTDLJ2EEEJBEJB 2.x cùng với NetBeans 6.7.1 và Jquái vật AS 4.23GAEJB 3Java MailJMSRMIJavaLập trình java cănbảnBài tập chương4GUI applicationLập trình java nângcaoCác nhà đềkhácJDBC – Java DatabaseConnectivityJPA – Java PersistenceAPINetworkingdi động DevAndroid developmentMy GardenÂm nhạcSeminarMy ProjectsSEVisual BasicWebASP.NetHost ứng dụngwebJSF – Java ServerFaceJboss khủng RichFacesRichFaces: Logon với RegistrationapplicationJSPServlet programmingStrutsWeb servicesC# Web servicesJava Web servicesTạo Web services cùng với JAX-WS 2.0 và Java SE 6PlatformXMLJXML – JSPXSLT Examples

Blog Stats

2,912,361 hits

E-Mail Subscription

Enter your email address to subscribe to this blog & receive sầu notifications of new posts by gmail.


Join 2,200 other followers


Email Address:

Sign me up!


JMS – ví dụ thao tác với Point-To-Point Model và Publish-and-Subscribe Model

JMS

PDF version here

Giới thiệu

Mô hình Point-to-Point Messaging

Mô hình PTP messaging sử dụng mang đến Việc bàn giao những thông điệp theo phong cách 1-1, có nghĩa là từng thông điệp chỉ được nhận 1 lần bởi 1 client. Nó được thiết kế dựa trên có mang message queue(sản phẩm những thông điệp). Mỗi thông điệp được gửi tặng một mặt hàng được chỉ định; clients dìm các thông điệp từ hàng được tùy chỉnh thiết lập để lưu lại những thông điệp này. Hình sau chỉ mang lại họ vài ba trường hợp vào phép tắc media điệp PTP.

*
Nlỗi họ thấy vào hình bên trên, một mặt hàng có thể có rất nhiều bạn gửi thông điệp với có nhiều fan dấn nhưng lại chỉ 1 tín đồ dìm dìm một thông điệp trong hàng. Tuy nhiên, vào PTPhường model, client có thể lựa chọn thông điệp mà nó chất nhận được viếng thăm dẫu vậy ko lấy giá trị(peek).

Mô hình Publish-and-Subscribe Messaging

Mô hình Pub/Sub messaging dùng đến vấn đề phạt tán những thông điệp (one-to-many broadcast). Nó được kiến thiết trên định nghĩa về chủ đề các thông điệp(message topic). Mỗi thông điệp được đăng (publish) lên 1 chủ đề (topic) sẽ tiến hành phân phát tán mang lại toàn bộ các clients mà lại gồm đăng ký(subscibe) chủ thể này. Đối tượng Topic được đóng gói trong một thương hiệu được hướng dẫn và chỉ định bởi vì công ty cung ứng các dịch vụ. Điều này tương tự như nlỗi tư tưởng newsgroups, user ĐK chủ đề mà bản thân yêu quý, từng user đang dìm được một bạn dạng copy của thông điệp đăng tải newsgroup cơ mà mình ĐK. Hình sau chỉ cho bọn họ một số trong những trường hợp của vẻ ngoài truyền thông media điệp Pub/Sub.

*

Trong quy mô Pub/Sub, một JMS client có thể là một durable subscriber để hoàn toàn có thể ngắt kết nối với sau đây nối lại để lấy những thông điệp cơ mà mình đã đăng ký.

*
Các interfaces chính của JMS.

JMS Parent Interface

PTPhường Specific

Pub/Sub Specific

ConnectionFactoryQueueConnectionFactoryTopicConnectionFactory
ConnectionQueueConnectionTopicConnection
DestinationQueueTopic
SessionQueueSessionTopicSession
MessageProducerQueueSenderTopicPublisher
MessageConsumerQueueReceiver, QueueBrowserTopicSubscriber

Giải thích

InterfaceDescriptionConcurrent Use?
ConnectionFactoryAn administered object used by a client to lớn create a ConnectionYes
ConnectionAn active connection to a JMS providerYes
DestinationAn administered object that encapsulates the identity of a message destinationYes
SessionA single-threaded context for sending và receiving messagesNo
MessageProducerAn object created by a Session that is used for sending messages to lớn a destinationNo
MessageConsumerAn object created by a Session that is used for receiving messages sent lớn a destination

Các bước để viết 1 ứng dụng JMS:

1. Import the javax.jms package

2. Look up the ConnectionFactory using the JNDI Context

3. Create a Connection from the ConnectionFactory

4. Create a Session from the Connection object

5. Look up the Destination using the same JNDI Context

6. Create a MessageProducer or a MessageConsumer using the Session object

7. Create a Message by choosing an appropriate JMS message type

8. Send/receive sầu the Message after starting the Connection

VÍ DỤ ỨNG DỤNG JMS Point – To – Point MODEL

A. Point – To – Point sender:

1. Các bước tiến hành

1. Performs a Java Naming & Directory InterfaceTM (JNDI) API lookup of the QueueConnectionFactory và queue

2. Creates a connection và a session

3. Creates a QueueSender

4. Creates a TextMessage

5. Sends one or more messages to lớn the queue

6. Sends a control message khổng lồ indicate the kết thúc of the message stream

7. Closes the connection in a finally bloông chồng, automatically closing the session và QueueSender

2. Source code

package queue2;

import javax.jms.Queue;

import javax.jms.QueueConnection;

import javax.jms.QueueConnectionFactory;

import javax.jms.QueueSender;

import javax.jms.QueueSession;

import javax.jms.Session;

import javax.jms.TextMessage;

import javax.naming.Context;

import javax.naming.InitialContext;

public class QueueSover

public static void main(String<> args)

try

System.setProperty(“java.naming.factory.initial”,”org.jnp.interfaces.NamingContextFactory”);

System.setProperty(“java.naming.provider.url”,”127.0.0.1:1099″);

System.out.println(“Looking up the JMS destination(Topic) via JNDI.”);

Context context = new InitialContext();

QueueConnectionFactory connectionFactory = (QueueConnectionFactory)context.lookup(“ConnectionFactory”);

System.out.println(“Create Queue Connection Factory completed!”);

QueueConnection queueConnection=connectionFactory.createQueueConnection();

System.

Xem thêm: Du Lịch Trong Nước Tiếng Anh Là Gì : Định Nghĩa, Ví Dụ Anh Việt

out.println(“Create Queue Connection completed!”);

QueueSession queueSession

=queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

System.out.println(“Create Queue Session completed!”);

Queue queue=(Queue)context.lookup(“queue/testQueue”);

System.out.println(“Create Queue completed!”);

QueueSender queueSender=queueSession.createSender(queue);

System.out.println(“Create Queue Sender completed!”);

TextMessage message=queueSession.createTextMessage();

message.setText(“Hello from Queue Messaging”);

queueSender.send(message);

queueConnection.close();

System.out.println(“Skết thúc message completed…”);

catch (Exception e)

e.printStackTrace();

3. Biên dịch

Tạo file compile.bat với nội dung

javac -d . *.java

pause

Chạy tệp tin này nhằm biên dịch, đảm bảo an toàn ko có 1 lỗi như thế nào.

4. Thực thi

Tạo file run_SendQueue.bat với nội dung

java queue/QueueSend

pause

5. Kết quả sau khoản thời gian thực thi

D:Bai giang AptechAptech – Semester 4JMSexmplesJMSp2p_ex1>java queue/QueueSend

Looking up the JMS destination(Topic) via JNDI.

Create Queue Connection Factory completed!

Create Queue Connection completed!

Create Queue Session completed!

Create Queue completed!

Create Queue Sender completed!

Skết thúc message completed…

D:Bai giang AptechAptech – Semester 4JMSexmplesJMSp2p_ex1>pause

Press any key lớn continue . . .

B. Point – To – Point receiver

1. Các bước tiến hành

1. Performs a JNDI API lookup of the QueueConnectionFactory & queue

2. Creates a connection & a session

3. Creates a QueueReceiver

4. Starts the connection, causing message delivery to begin

5. Receives the messages sent khổng lồ the queue until the end-of-message-stream control message is received

6. Closes the connection in a finally blochồng, automatically closing the session và QueueReceiver

2. Source code

package queue2;

import javax.jms.JMSException;

import javax.jms.Message;

import javax.jms.MessageListener;

import javax.jms.Queue;

import javax.jms.QueueConnection;

import javax.jms.QueueConnectionFactory;

import javax.jms.QueueReceiver;

import javax.jms.QueueSession;

import javax.jms.Session;

import javax.jms.TextMessage;

import javax.naming.Context;

import javax.naming.InitialContext;

public class QueueReceive sầu {

public static void main(String<> args) {

try {

System.setProperty(“java.naming.factory.initial”,”org.jnp.interfaces.NamingContextFactory”);

System.setProperty(“java.naming.provider.url”,”127.0.0.1:1099″);

System.out.println(“Looking up the JMS destination via JNDI.”);

Context context = new InitialContext();

QueueConnectionFactory connectionFactory = (QueueConnectionFactory)context.lookup(“ConnectionFactory”);

QueueConnection queueConnection=connectionFactory.createQueueConnection();

QueueSession queueSession=queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Về londonrocknroll.com

londonrocknroll.com - Trang web được thành lập bởi Wordpress. Nội dung trên blog này đều đề cập đến những vấn đề mọi người quan tâm và hay tìm kiếm trên công cụ tìm kiếm "Google" hiện nay, giúp người dùng có thêm nhiều thông tin hay và bổ ích.

Lưu Ý Nội Dung

Mọi thông tin trên website đều mang tính chất tham khảo. Và chúng tôi sẽ không chịu trách nhiệm khi bạn tự ý làm theo mà chưa hỏi ý kiến của chuyên gia.


Mọi thắc mắc xin liên hệ: [email protected]

Quản lý nội dung

Nội dung trên website chủ yếu được sưu tầm từ internet giúp bạn có thêm những tài liệu bổ ích và khách quan nhất. Nếu bạn là chủ sở hữu của những nội dung và không muốn chúng tôi đăng tải, hãy liên hệ với quản trị viên để gỡ bài viết

© COPYRIGHT 2021 BY londonrocknroll.com