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

📄 topicreceive.java

📁 这是一个用jsp+Oracle开发的联系人客户关系管理系统!
💻 JAVA
字号:
package com.test;

import java.io.*;
import java.util.*;
import javax.transaction.*;
import javax.naming.*;
import javax.jms.*;

public class TopicReceive implements MessageListener
{
	public final static String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";
	public final static String JMS_FACTORY = "weblogic.examples.jms.TopicConnectionFactory";
	public final static String TOPIC = "weblogic.examples.jms.exampleTopic";

	private TopicConnectionFactory tconFactory;
	private TopicConnection tcon;
	private TopicSession tsession;
	private TopicSubscriber tsubscriber;
	private Topic topic;
	private boolean quit = false;

	public void onMessage(Message msg)
	{
		try
		{
			String msgText;
			if(msg instanceof TextMessage)
			{
				msgText = ((TextMessage)msg).getText();
			}
			else
			{
				msgText = msg.toString();
			}

			System.out.println("Message Received:"+msgText);

			if(msgText.equalsIgnoreCase("quit"))
			{
				synchronized(this)
				{
					quit = true;
					this.notifyAll();//Notify main thread to quit
				}
			}
		}
		catch(JMSException jmse)
		{
			jmse.printStackTrace();
		}
	}

	public void init(Context ctx,String topicName) throws NamingException,JMSException
	{
		tconFactory = (TopicConnectionFactory)ctx.lookup(JMS_FACTORY);
		tcon = tconFactory.createTopicConnection();
		tsession = tcon.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
		topic = (Topic)ctx.lookup(topicName);
		tsubscriber = tsession.createSubscriber(topic);
		tsubscriber.setMessageListener(this);
		tcon.start();
	}

	public void close() throws JMSException
	{
		tsubscriber.close();
		tsession.close();
		tcon.close();
	}

	public static void main(String args[]) throws Exception
	{
		if(args.length!=1)
		{
			System.out.println("Usage:java examjples.jms.topic.TopicSend WebLogicURL");
			return;
		}

		InitialContext ic = getInitialContext(args[0]);
		TopicReceive tr = new TopicReceive();
		tr.init(ic,TOPIC);

		synchronized(tr)
		{
			while(!tr.quit)
			{
				try
				{
					tr.wait();
				}catch(InterruptedException ie){}
			}
		}
		tr.close();
	}

	private static InitialContext getInitialContext(String url) throws NamingException
	{
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY,JNDI_FACTORY);
		env.put(Context.PROVIDER_URL,url);
		return new InitialContext(env);
	}
};

⌨️ 快捷键说明

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