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

📄 syncmessageconsumer.java

📁 java的一系列产品中包括jsme,jmse,j2ee,本文件提供j2ee实现的源代码.
💻 JAVA
字号:
/*同步消息接收程序,从主题接收*/
package JMSTrans;

import java.util.Properties;
import javax.rmi.PortableRemoteObject;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.naming.NamingException;

import javax.jms.JMSException;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;

public final class SyncMessageConsumer{

  private static QueueReceiver receiver;
  private static TextMessage msg;
  private static final String url  = "t3://localhost:7001";
  
  public static void main(String [] argv) throws Exception
  {
     try{
     	//设置初始上下文
      Properties env = new Properties();
      env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
      env.put(Context.PROVIDER_URL, url);
      
    	//获取初始上下文      
    	Context ctx = new InitialContext(env);  
    	
    	//1:通过JDNI查找ConnectionFactory
    	QueueConnectionFactory qConFactory = (QueueConnectionFactory)
      	 ctx.lookup("weblogic.jms.ConnectionFactory"); 
      
      //2:用ConnectionFactory建立JMS连接
      QueueConnection qCon = qConFactory.createQueueConnection();
      
      //3:用Connection创建会话
    	QueueSession session = qCon.createQueueSession(
      	false, /* not a transacted session */
      	Session.AUTO_ACKNOWLEDGE 
    	);
    	
    	//4:通过JDNI查找目的(消息队列)
      Queue messageQueue = (Queue) ctx.lookup("MessageQueue");
      
      //5:创建消息接收者,使用QueueConnection接口的start()方法接收消息
      receiver = session.createReceiver(messageQueue);
    	qCon.start();
    	
      //6:创建文本消息,并接收    	
      msg = (TextMessage) receiver.receive();
      System.out.println("JMSType: "+msg.getJMSType());
      System.out.println("JMSPriority: "+msg.getJMSPriority());
    	System.out.println("JMSDestionation: "+msg.getJMSDestination());
    	System.out.println("JMSDeliveryMode: "+msg.getJMSDeliveryMode());
    	System.out.println("JMSMSReplyTo: "+msg.getJMSReplyTo());
    	
    	System.out.println("Received: "+msg.getText());
    	System.out.println("Received: "+msg.getStringProperty("MyProp"));
    	
    	msg = (TextMessage) receiver.receive();
    	System.out.println("Received: "+msg.getText());
    	System.out.println("Received: "+msg.getStringProperty("MyProp"));
    }catch (JMSException e) {
      e.printStackTrace();
    } 
  }
}

⌨️ 快捷键说明

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