⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queuesupplier.java

📁 BEA WebLogic Server 8.1大全 = BEA webLogic server 8.1 unleashed (美) Mark Artiges等著 袁毅 ... [等] 译 eng
💻 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 + -