📄 queuesupplier.java
字号:
package com.wls8unleashed.jms;
import javax.naming.*;
import javax.jms.*;
import java.util.*;
import java.io.*;
/**
* Implements the functionality to supply a message to
* a queue. Extends the QueueManager for init info.
*/
public class QueueSupplier extends QueueManager{
private QueueSender queueSender;
/**
* Initializes the queue supplier.
*/
public QueueSupplier(Context context){
// Call superclass QueueManager constructor
super(context);
try{
// Create queue sender
System.out.println("Creating queue sender...");
queueSender = queueSession.createSender(queue);
}catch(JMSException e){
System.out.println("Problem creating Queue Sender");
e.printStackTrace();
}
}
/**
* Send an order message to a queue.
*/
public void sendOrder(OrderItem message) throws JMSException {
System.out.println("Sending order message:" + message);
// Create empty ObjectMessage on session
System.out.println("Creating empty object message...");
ObjectMessage sendingMessage = queueSession.createObjectMessage();
// Start the queue connection
System.out.println("Starting queue connection...");
queueConnection.start();
// Set the order object onto the message carrier
System.out.println("Setting order item into message...");
sendingMessage.setObject((Serializable) message);
// Send the message
System.out.println("Sending the order message...");
queueSender.send(sendingMessage);
}
/**
* Close JMS related objects.
*/
public void close() throws JMSException {
queueSender.close();
queueSession.close();
queueConnection.close();
}
/**
* Main method used to execute the QueueSupplier example
*/
public static void main(String[] args) {
try{
// Get some orders from the OrderManager class
System.out.println("Getting a bunch of orders to send...");
Collection orders = OrderManager.getOrders();
// For each order, get order request and send to consumer
Iterator it = orders.iterator();
while (it.hasNext()) {
// Get an OrderItem object to send
OrderItem item = (OrderItem) it.next();
// Create JNDI context
Context context = Props.getInitialContext();
// Create new QueueSupplier
System.out.println("Creating new QueueSupplier...");
QueueSupplier queueSupplier = new QueueSupplier(context);
// Send the order
System.out.println("Initiating order to send...");
queueSupplier.sendOrder(item);
// Close QueueSupplier
System.out.println("Closing QueueSupplier...");
queueSupplier.close();
}
}catch(Exception e){
System.out.println("Problem executing queue supplier");
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -