`
feng88724
  • 浏览: 170802 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

EJB备忘(整理)

    博客分类:
  • JMS
阅读更多
JMS 1.0.2 有发布\订阅与点对点两种;
JMS 1.1 中结合了;



消息类型:简单文本 (TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage),还有无有效负载的消息 (Message)。

三(例子是同步的)
最简单的例子:
  
发送端  
public void sendingProcessing(String messege) throws NamingException, JMSException{   
        Context ctx = new InitialContext();   
        ConnectionFactory cf = (ConnectionFactory) ctx.lookup("java:JmsXA");   
        Connection conn = cf.createConnection();   
        Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);   
        Destination dest = (Queue) ctx.lookup("queue/A");   
        MessageProducer msgp = session.createProducer(dest);   
        QueueSender sender = (QueueSender) msgp;   
        TextMessage msg = session.createTextMessage();   
        msg.setText(messege);   
        sender.send(msg);   
        conn.close();   
    } 

接收端
 public String retriveingProcessing() throws NamingException, JMSException{   
        Context ctx = new InitialContext();   
        ConnectionFactory cf = (ConnectionFactory) ctx.lookup("java:JmsXA");   
        Connection conn = cf.createConnection();   
        Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);   
        Destination dest = (Queue) ctx.lookup("queue/A");   
        MessageConsumer msgconsumer = session.createConsumer(dest);   
        //MessageListener ml = new JmsListenner();   
        //msgconsumer.setMessageListener(ml);   
        conn.start();   
//可以在此设置延迟receive(30000); 在这段时间内收不到消息则返回NULL
        TextMessage msg = (TextMessage) msgconsumer.receive();  
        conn.close();   
        System.out.println("messege is" + msg.getText());   
        return msg.getText();   
    } 


附件中有个异步Queue示例!还有发送端接收返回值、接收端处理完后又回馈发送端的示例!

文章仅作为个人学习笔记,若有该方面问题,欢迎探讨!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics