syncmessageconsumer.java

来自「J2EE开发与Weblogic一书中的源代码」· Java 代码 · 共 73 行

JAVA
73
字号
package com.learnweblogic.examples.ch7.queue;

import com.learnweblogic.examples.BaseClient;

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;
import javax.naming.Context;
import javax.naming.NamingException;

public final class SyncMessageConsumer extends BaseClient {

  private QueueReceiver receiver;
  private TextMessage msg;

  public SyncMessageConsumer(String [] argv) 
    throws JMSException, NamingException
  {
    super(argv);

    Context ctx = getInitialContext();

    QueueConnectionFactory qConFactory = (QueueConnectionFactory)
      ctx.lookup("weblogic.jms.ConnectionFactory"); 

    Queue messageQueue = (Queue) ctx.lookup("MessageQueue");

    QueueConnection qCon = qConFactory.createQueueConnection();

    QueueSession session = qCon.createQueueSession(
      false, /* not a transacted session */
      Session.AUTO_ACKNOWLEDGE 
    );

    receiver = session.createReceiver(messageQueue);

    qCon.start();

  }

  public void runClient() 
    throws JMSException
  {

    msg = (TextMessage) receiver.receive();

    System.err.println("Received: "+msg.getText());

    msg = (TextMessage) receiver.receive();

    System.err.println("Received: "+msg.getText());

  }


  public static void main(String [] argv) 
    throws Exception
  {
    SyncMessageConsumer consumer = new SyncMessageConsumer(argv);

    consumer.runClient();

  }



}

⌨️ 快捷键说明

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