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

📄 syncsubscriber.java

📁 Spring2.0宝典
💻 JAVA
字号:
/*******************************************************************
<br>Copyright (C), 2004-2006, yeeku.H.Lee
<br>Program Name:SyncConsumer.java
<br>作用:演示pub/sub消息同步消费者程序。
<br>Author:yeeku.H.lee kongyeeku@163.com
<br>Version:1.0
<br>This program is protected by copyright laws.
<br>Date: 2005-9-22
*******************************************************************/

package leejms;

import javax.jms.JMSException;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicSubscriber;
import javax.jms.TopicSession;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.InitialContext;
import java.util.Properties;

public final class SyncSubscriber
{
    private TopicSubscriber subscriber;
	private TextMessage msg;
    public SyncSubscriber()throws NamingException,JMSException
	{
		Context ctx=getInitialContext();
		TopicConnectionFactory tConFactory=(TopicConnectionFactory)ctx.lookup("weblogic.jms.ConnectionFactory"); 
		Topic messageTopic=(Topic)ctx.lookup("MessageTopic");
		TopicConnection tCon=tConFactory.createTopicConnection();
		TopicSession session=tCon.createTopicSession(false,/*不是事物性会话*/Session.AUTO_ACKNOWLEDGE);
		subscriber=session.createSubscriber(messageTopic);
		tCon.start();
    }
	 
	public void subscribeMessage()throws JMSException
	{
		msg = (TextMessage) subscriber.receive();
		System.out.println("接收到的消息是:"+msg);
	}
    //----------------公用函数,用来获取命名服务的Context对象-------------------------
    protected Context getInitialContext()
	{
        String url = "t3://localhost:8181";
	    Properties properties = null;
		Context ctx=null;
		try
		{
			Properties p = new Properties();
			p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
			p.put(Context.PROVIDER_URL, url);
			ctx = new InitialContext(p);
		}
		catch(NamingException ne)
		{
			System.err.println("不能连到WebLogic server在" +url);
			ne.printStackTrace();
		}
		return ctx;
	}
    //------------------------主函数,程序的入口-----------------------------
    public static void main(String[] args)throws Exception
	{
		SyncSubscriber ms = new SyncSubscriber();
		ms.subscribeMessage();
	}
}

⌨️ 快捷键说明

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