EJB备忘(整理)

[b]一[/b]JMS 1.0.2 有发布\订阅与点对点两种;
JMS 1.1 中结合了;
[b]

二[/b]
消息类型:简单文本 (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示例!还有发送端接收返回值、接收端处理完后又回馈发送端的示例!

文章仅作为个人学习笔记,若有该方面问题,欢迎探讨!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值