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

📄 newcustomermessageproducer.java

📁 J2EE开发与Weblogic一书中的源代码
💻 JAVA
字号:
package com.learnweblogic.examples.ch10.customer;

import com.learnweblogic.examples.BaseClient;

import javax.jms.JMSException;
import javax.jms.MapMessage;
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.naming.Context;

public final class NewCustomerMessageProducer extends BaseClient {

	private static final String JMS_CONN_FACTORY =
		"weblogic.jms.ConnectionFactory";

	private String JMS_QUEUE = "newCustomers";

	private QueueConnection queueConnection = null;
	private QueueSender queueSender = null;
	private QueueSession queueSession = null;
	private Queue queue = null;
	private MapMessage msg = null;

public NewCustomerMessageProducer(String[] argv) throws Exception {
		super(argv);

		try {
			Context ctx = getInitialContext();

			QueueConnectionFactory factory =
				(QueueConnectionFactory) ctx.lookup(JMS_CONN_FACTORY);

			queueConnection = factory.createQueueConnection();

			// Create a non-transacted JMS Session
			queueSession =
				queueConnection.createQueueSession(
					false,
					Session.AUTO_ACKNOWLEDGE);

			queue = (Queue) ctx.lookup(JMS_QUEUE);

			queueSender = queueSession.createSender(queue);

			msg = queueSession.createMapMessage();

			queueConnection.start();
		} catch (Exception e) {
			System.err.println(
				"Error while attempting to connect to the "
					+ "server and lookup the JMS QueueConnectionFactory.");
			System.err.println(
				"Please make sure that you have deployed "
					+ "the JMS Queue and specified the correct server URL.");

			e.printStackTrace();

			throw e;
		}
	}

	public void send(int id, String firstName, String lastName, String email)
		throws JMSException {
		try {
			msg.clearBody();

			msg.setInt("ID", id);
			msg.setString("FIRST_NAME", firstName);
			msg.setString("LAST_NAME", lastName);
			msg.setString("EMAIL_ADDRESS", email);

			queueSender.send(msg);
		} catch (JMSException e) {
			System.err.println(
				"Exception raised while sending to queue: " + JMS_QUEUE);
			e.printStackTrace();
			throw e;
		}
	}

	public void kill() throws JMSException {
		try {
			queueSender.close();
			queueSession.close();
			queueConnection.close();
		} catch (JMSException e) {
			System.err.println("Exception raised while closing JMS resources.");
			e.printStackTrace();
			throw e;
		}
	}

	public static void main(String[] argv) throws Exception {
		NewCustomerMessageProducer client =
			new NewCustomerMessageProducer(argv);
		client.send(1, "Cedric", "Jones", "cedric@learnweblogic.com");
		client.send(2, "Thorick", "Smith", "thorick@learnweblogic.com");
		client.send(3, "Seth", "Johnson", "seth@learnweblogic.com");
		client.kill();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -