weblogic jms发送、接收测试

来源:互联网 发布:淘宝男装外套 编辑:程序博客网 时间:2024/05/21 15:42

TopicSender  发送端

package com.test;


import java.util.Properties;


import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSession;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;


public class TopicSender {


/**
* @param args
*/
public static void main(String[] args) {
// DFACJmsList list = new DFACJmsList();
// OBJTest obj = new OBJTest();
// list.add(obj);
sendWebLogicJMS();

// Thread t1 = new Thread(){
// @Override
// public void run() {
// while(true){
// DFACJmsList list = new DFACJmsList();
// for(int i = 0;i<30000;i++){
// OBJTest obj = new OBJTest();
// list.add(obj);
// }
//        sendWebLogicJMS(list);
//        try {
// Thread.sleep(1500);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// }
// }
//
// };
//
// Thread t2 = new Thread(){
// @Override
// public void run() {
// while(true){
// DFACJmsList list = new DFACJmsList();
// for(int i = 0;i<33333;i++){
// OBJTest obj = new OBJTest();
// list.add(obj);
// }
//        sendWebLogicJMS(list);
//        try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// }
// }
// };
//
// Thread t3 = new Thread(){
// @Override
// public void run() {
// while(true){
// DFACJmsList list = new DFACJmsList();
// for(int i = 0;i<44444;i++){
// OBJTest obj = new OBJTest();
// list.add(obj);
// }
//        sendWebLogicJMS(list);
//        try {
// Thread.sleep(777);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// }
// }
// };
// t1.start();
// t2.start();
// t3.start();
// ListObject list = new ListObject();
// for(int i = 0;i<1599;i++){
// OBJTest obj = new OBJTest();
// list.add(obj);
// }
//        sendWebLogicJMS(list);
}


public static void sendWebLogicJMS(){
//        TopicConnection conn = null;
//        TopicSession session = null;
QueueConnection conn = null;
QueueSession session = null;
        try {
            Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
// props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jms.safclient.jndi.InitialContextFactoryImpl");
props.setProperty(Context.PROVIDER_URL, "t3://172.29.225.143:7002");
            InitialContext ctx = new InitialContext(props);
            
//            TopicConnectionFactory factory = (TopicConnectionFactory) ctx.lookup(TopicConnectionFactory.class.getName());
            QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup(QueueConnectionFactory.class.getName());
//            conn = factory.createTopicConnection();
            conn = factory.createQueueConnection();
//            session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
            session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
//            Destination destination = (Topic) ctx.lookup("demo.BizQueue");
//            Destination destination = (Queue) ctx.lookup("dfac/MesToScf");
            Destination destination = (Queue) ctx.lookup("demo.BizQueue");
            MessageProducer producer = session.createProducer(destination);
            //发送文本
//            ObjectMessage msg = session.createObjectMessage("aaa");
            TextMessage msg = session.createTextMessage("");
            producer.send(msg);
            
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }finally{
            try {
                session.close ();
                conn.close();
            } catch (JMSException e) {
                e.printStackTrace();
            }
        }
}

// public static void sendJBossJMS(ListObject obj){
// TopicConnection conn = null;
// TopicSession session = null;
// try{
// Properties props = new Properties();
// props.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
// "org.jnp.interfaces.NamingContextFactory");
// props.setProperty(Context.PROVIDER_URL, "localhost:1099");
// props.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
// InitialContext ctx = new InitialContext(props);
// TopicConnectionFactory factory = (TopicConnectionFactory)ctx.lookup("TopicConnectionFactory");
// conn = factory.createTopicConnection();
// session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
// Destination destination = (Topic)ctx.lookup("topic/chatTopic");
// MessageProducer producer = session.createProducer(destination);
//
// ObjectMessage msg = session.createObjectMessage(obj);
// producer.send(msg);
// }catch(Exception e){
// System.out.println(e.getMessage());
// }finally{
// try{
// session.close();
// conn.close();
// }catch(JMSException e){
// e.printStackTrace();
// }
// }
// }
}



MessageReciever 接收端

package com.test;

import java.util.*;      
import javax.naming.*;      
import javax.jms.*;
import javax.jms.Queue;
     
public class MessageReciever      
    implements MessageListener {      
  public void onMessage(Message message) {      
    if (message instanceof TextMessage) {      
      TextMessage textMessage = (TextMessage) message;      
      try {      
        System.out.println("Message content is:" + textMessage.getText());
      }      
      catch (JMSException e) {      
        e.printStackTrace();      
      }      
    }      
  }      
     
  public static void main(String[] args) {      
         
    MessageReciever msgRcvr=new MessageReciever();      
    String queueConnectionFactoryName = "myconnectionfactory";      
    String queueName = "myqueue";      
     
    boolean transacted = false;      
    int acknowledgementMode = Session.AUTO_ACKNOWLEDGE;      
     
    Properties properties = new Properties();      
    properties.put(Context.INITIAL_CONTEXT_FACTORY,      
                   "weblogic.jndi.WLInitialContextFactory");      
    properties.put(Context.PROVIDER_URL, "t3://172.29.225.185:7001");      
     
    try {      
      Context context = new InitialContext(properties);      
      Object obj = context.lookup(queueConnectionFactoryName);      
      QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)      
          obj;      
     
      obj = context.lookup(queueName);      
      Queue queue = (Queue) obj;      
     
      QueueConnection queueConnection = queueConnectionFactory.      
          createQueueConnection();      
      queueConnection.start();      
      QueueSession queueSession = queueConnection.createQueueSession(transacted,      
          acknowledgementMode);      
      QueueReceiver queueReceiver = queueSession.createReceiver(queue);      
     
      queueReceiver.setMessageListener(msgRcvr);      
     
      synchronized(msgRcvr){      
        msgRcvr.wait(100000);      
      }      
     
      if (queueReceiver != null) {      
        queueReceiver.close();      
      }      
      if (queueSession != null) {      
        queueSession.close();      
      }      
      if (queueConnection != null) {      
        queueConnection.close();      
      }      
     
    }      
    catch (Exception ex) {      
      ex.printStackTrace();      
    }      
  }      

原创粉丝点击