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

📄 queuesend.java

📁 jboss的jms一个小程序
💻 JAVA
字号:
package com.hotct.jms;

import java.io.*;
import java.util.*;
import javax.transaction.*;
import javax.naming.*;
import javax.jms.Queue;
import javax.jms.*;
import javax.rmi.PortableRemoteObject;
import javax.naming.InitialContext;
import java.util.Hashtable;

public class QueueSend {

	public final static String QUEUE = "queue/testQueue";
	
	public static void main(String[] args) throws Exception{
		//创建用于JNDI查询的Context
		Context ctx = getInitialContext();
		/**
		 * 获取QueueConnectionFactory
		 * ConnectionFactory为JBoss中已有的JNDI名字
		 */
		QueueConnectionFactory qconFactory =  
			(QueueConnectionFactory)ctx.lookup("/ConnectionFactory");
		
		/**
		 * 获取Queue
		 * queue/testQueue为JBoss中已有的JNDI名字
		 */
		Queue queue =(Queue)ctx.lookup("/queue/testQueue");
		
		//从QueueConnectionFactory中创建QueueConnection
		QueueConnection qcon = qconFactory.createQueueConnection();
		
		/**
		 * 从QueueConnection中 创建QueueSession
		 * 第一个参数为 是否为Transacted,如果是接受后的消息会自动确认,这时忽略第二个参数,本例中虽然为false,
		 * 但是第二个参数还是指点了自动确认的方式
		 */
		QueueSession qsession = qcon.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
		
		//从QueueSession中创建QueueSender
		QueueSender qsender = qsession.createSender(queue);
		
		/**
		 * 从QueueSession中创建Message
		 * createTextMessage创建文本类型的消息
		 */
		TextMessage msg = qsession.createTextMessage();
		
		for(int i = 0;i < 3 ; i++){
			//把消息写入到Message
			msg.setText("Message " + i + "from Queue");
			System.out.println("Sending message :" + msg.getText());
			
			//发送消息
			qsender.send(msg);
		}
		
		//关闭消息
		qsender.send(qsession.createMessage());
		qsender.close();
		qsession.close();
		qcon.close();
	}
	
	private static Context getInitialContext() throws NamingException{
		Hashtable props = new Hashtable();
		props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
		props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
		props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
		Context ctx = new InitialContext(props);
		return ctx;
	}
}

⌨️ 快捷键说明

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