[b]一[/b]JMS 1.0.2 有发布\订阅与点对点两种;
JMS 1.1 中结合了;
[b]
二[/b]
消息类型:简单文本 (TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage),还有无有效负载的消息 (Message)。
三(例子是同步的)
最简单的例子:
附件中有个异步Queue示例!还有发送端接收返回值、接收端处理完后又回馈发送端的示例!
文章仅作为个人学习笔记,若有该方面问题,欢迎探讨!
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示例!还有发送端接收返回值、接收端处理完后又回馈发送端的示例!
文章仅作为个人学习笔记,若有该方面问题,欢迎探讨!