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

📄 jmstestclinet2.java

📁 100多M的J2EE培训内容
💻 JAVA
字号:
package userjmssesenbdb;import javax.jms.*;import javax.naming.*;import java.util.Hashtable;import java.io.Serializable;import java.util.Properties;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 * * Use this class to send and receive point-to-point messages. * To send a text message: * <code> * JmsTestClinet2 jmsTestClinet2 = new JmsTestClinet2(); * jmsTestClinet2.sendText("Hello world"); * jmsTestClinet2.close(); //Release resources * </code> * * <code> * To receive a message: * JmsTestClinet2 jmsTestClinet2 = new JmsTestClinet2(); * jmsTestClinet2.getQueueReceiver(); * </code> */public class JmsTestClinet2 implements MessageListener {  private static Context context = null;  private boolean transacted = true;  private int acknowledgementMode = Session.AUTO_ACKNOWLEDGE;  private QueueConnectionFactory queueConnectionFactory = null;  private QueueConnection queueConnection = null;  private QueueSession queueSession = null;  private QueueSender queueSender = null;  private QueueReceiver queueReceiver = null;  private Queue queue = null;  private String queueConnectionFactoryName = "DemoJMSConnectionFactory";  private String sendQueueName = "DemoJMSQueue";  private String recvQueueName = "DemoJMSQueue";  public boolean isTransacted() {    return transacted;  }  public void setTransacted(boolean transacted) {    this.transacted = transacted;  }  public int getAcknowledgementMode() {    return acknowledgementMode;  }  public void setAcknowledgementMode(int acknowledgementMode) {    this.acknowledgementMode = acknowledgementMode;  }  public String getQueueConnectionFactoryName() {    return queueConnectionFactoryName;  }  public void setQueueConnectionFactoryName(String queueConnectionFactoryName) {    this.queueConnectionFactoryName = queueConnectionFactoryName;  }  public String getSendQueueName() {    return sendQueueName;  }  public void setSendQueueName(String sendQueueName) {    this.sendQueueName = sendQueueName;  }  public String getRecvQueueName() {    return recvQueueName;  }  public void setRecvQueueName(String recvQueueName) {    this.recvQueueName = recvQueueName;  }  private Context getInitialContext() throws Exception {    String url = "t3://TsingHuaSQL:7001";    String user = null;    String password = null;    Properties properties = null;    try {      properties = new Properties();      properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");      properties.put(Context.PROVIDER_URL, url);      if (user != null) {        properties.put(Context.SECURITY_PRINCIPAL, user);        properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);      }      return new InitialContext(properties);    }    catch(Exception e) {      System.out.println("Unable to connect to WebLogic server at " + url);      System.out.println("Please make sure that the server is running.");      throw e;    }  }  private Context getContext() throws Exception {    if (context == null) {      try {        context = getInitialContext();      }      catch(Exception ex) {        ex.printStackTrace();        throw ex;      }    }    return context;  }  public QueueConnectionFactory getQueueConnectionFactory() throws Exception {    if (queueConnectionFactory == null) {      Object obj = getContext().lookup(queueConnectionFactoryName);      queueConnectionFactory = (QueueConnectionFactory) obj;    }    return queueConnectionFactory;  }  public QueueConnection getQueueConnection() throws Exception {    if (queueConnection == null) {      queueConnection = getQueueConnectionFactory().createQueueConnection();      queueConnection.start();    }    return queueConnection;  }  public QueueSession getQueueSession() throws Exception {    if (queueSession == null) {      queueSession = getQueueConnection().createQueueSession(isTransacted(), getAcknowledgementMode());    }    return queueSession;  }  public Queue getSendQueue() throws Exception {    if (queue == null) {      Object obj = getContext().lookup(sendQueueName);      queue = (Queue) obj;    }    return queue;  }  public Queue getRecvQueue() throws Exception {    if (queue == null) {      Object obj = getContext().lookup(recvQueueName);      queue = (Queue) obj;    }    return queue;  }  public QueueSender getQueueSender() throws Exception {    if (queueSender == null) {      queueSender = getQueueSession().createSender(getSendQueue());    }    return queueSender;  }  public QueueReceiver getQueueReceiver() throws Exception {    if (queueReceiver == null) {      queueReceiver = getQueueSession().createReceiver(getRecvQueue());      queueReceiver.setMessageListener(this);    }    return queueReceiver;  }  public void sendText(String message) throws Exception {    TextMessage textMessage = getQueueSession().createTextMessage();    textMessage.clearBody();    textMessage.setText(message);    getQueueSender().send(textMessage);    if (isTransacted()) {      getQueueSession().commit();    }  }  public void sendObject(Serializable message) throws Exception {    ObjectMessage objectMessage = getQueueSession().createObjectMessage();    objectMessage.clearBody();    objectMessage.setObject(message);    getQueueSender().send(objectMessage);    if (isTransacted()) {      getQueueSession().commit();    }  }  public void onMessage(Message message) {    if (message instanceof BytesMessage) {      BytesMessage bytesMessage = (BytesMessage) message;      //Process bytesMessage here    }    else {      if (message instanceof MapMessage) {        MapMessage mapMessage = (MapMessage) message;        //Process mapMessage here      }      else {        if (message instanceof ObjectMessage) {          ObjectMessage objectMessage = (ObjectMessage) message;          //Process objectMessage here        }        else {          if (message instanceof StreamMessage) {            StreamMessage streamMessage = (StreamMessage) message;            //Process streamMessage here          }          else {            if (message instanceof TextMessage) {              TextMessage textMessage = (TextMessage) message;              //Process textMessage here            }          }        }      }    }    try {      if (isTransacted()) {        getQueueSession().commit();      }    }    catch(Exception ex) {      ex.printStackTrace();    }  }  public void close() throws Exception {    if (queueSender != null) {      queueSender.close();    }    if (queueReceiver != null) {      queueReceiver.close();    }    if (queueSession != null) {      queueSession.close();    }    if (queueConnection != null) {      queueConnection.close();    }  }}

⌨️ 快捷键说明

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