关于JMS一个最简单的Demo:
发送消息的类JmsSender
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
public class JmsSender {
/**
* @param args
* @throws JMSException
*/
public static void main(String[] args) throws JMSException {
// TODO Auto-generated method stub
// ConnectionFactory :连接工厂,JMS 用它创建连接
ConnectionFactory factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER
, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://127.0.0.1:61616");
//JMS 客户端到JMS Provider 的连接
Connection connection = factory.createConnection();
connection.start();
// Session: 一个发送或接收消息的线程
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
// Destination :消息的目的地;消息发送给谁.
// 获取session注意参数值my-queue是Query的名字
Destination destination = session.createQueue("testQueue");
// MessageProducer:消息生产者
MessageProducer producer = session.createProducer(destination);
//设置不持久化
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
sendMsg(session, producer);
session.commit();
connection.close();
}
public static void sendMsg(Session session, MessageProducer producer) throws JMSException {
//创建一条文本消息
TextMessage message = session.createTextMessage("Hello ActiveMQ!");
//通过消息生产者发送消息
producer.send(message);
System.out.println("");
}
}
接收消息的类JmsReceiver
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
public class JmsReceiver {
/**
* @param args
* @throws JMSException
*/
public static void main(String[] args) throws JMSException {
// TODO Auto-generated method stub
// ConnectionFactory :连接工厂,JMS 用它创建连接
ConnectionFactory factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER
, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://127.0.0.1:61616");
//JMS 客户端到JMS Provider 的连接
Connection connection = factory.createConnection();
connection.start();
// Session: 一个发送或接收消息的线程
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
// Destination :消息的目的地;消息发送给谁.
// 获取session注意参数值my-queue是Query的名字
Destination destination = session.createQueue("myqueue");
MessageConsumer consumer = session.createConsumer(destination);
while (true) {
TextMessage message = (TextMessage) consumer.receive(1000);
if (message != null) {
System.out.println("收到消息:" + message.getText());
} else {
break;
}
}
session.close();
connection.close();
}
}
启动ActiveMQ:
先run发送者,后run接收者。
分享到:
相关推荐
TextMessage message = session.createTextMessage("Hello ActiveMQ"); producer.send(message); session.close(); connection.close(); } } ``` 这个示例演示了如何使用ActiveMQ连接到服务器,创建一个消息...
在这个"apache activeMQ之初体验(helloworld)"中,我们将探索如何使用ActiveMQ进行基本的消息发布与订阅。 在消息中间件中,"Hello World"程序通常用于演示最基本的消息传递概念。ActiveMQ的"Hello World"程序主要...
在本文中,我们将深入探讨如何使用ActiveMQ创建一个基本的"HelloWorld"实例,以便于初学者理解消息队列的工作原理。ActiveMQ是Apache软件基金会开发的一个开源消息代理,它实现了多种消息协议,如OpenWire、AMQP、...
TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); producer.send(message); ``` 在“MQClient”文件中,我们可以期待看到具体的客户端代码示例,这些示例可能包括连接到ActiveMQ服务器、创建...
jmsTemplate.convertAndSend(destination, "Hello, ActiveMQ!"); ``` 接收消息: ```java @JmsListener(destination = "MyQueue") public void receiveMessage(String message) { System.out.println(...
client.publish('test/topic', 'Hello, MQTT World!'); }); // 接收消息事件 client.on('message', function (topic, message) { console.log(`Received message from topic ${topic}: ${message.toString()}`); ...
【ActiveMQ 安装手册说明】ActiveMQ 是一个开源的消息代理服务器,它是Apache软件基金会的顶级项目,基于Java消息服务(JMS)标准,用于在分布式系统中传递消息。本手册将详细介绍在Linux环境下如何安装和运行...
TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); producer.send(message); // 关闭资源 producer.close(); session.close(); connection.close(); ``` 3. **创建消费者** - 在...
var message = session.CreateTextMessage("Hello, ActiveMQ!"); ``` 8. 发送消息:使用生产者将消息发送到目的地。 ```csharp producer.Send(destination, message); ``` 9. 创建消费者:创建一个消息消费者,...
std::auto_ptr<cms::TextMessage> message(session->createTextMessage("Hello, World!")); producer->send(message.release()); std::auto_ptr<cms::Message> received = consumer->receive(); ``` 5. **构建...
IMessage message = session.CreateTextMessage("Hello, ActiveMQ!"); producer.Send(message); ``` 4. **消息订阅(Subscribe)** 创建消费者订阅主题,当有新消息到达时,会触发消息处理回调。 ```csharp ...
Message message = session.createTextMessage("Hello, ActiveMQ!"); producer.send(message); ``` 对于消费者,注册一个消息监听器来接收消息: ```java consumer.setMessageListener(new MessageListener() { ...
TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); // 发送消息 producer.send(message); ``` 对于消费者端,同样需要创建连接工厂、连接、session,但这次我们会创建一个MessageConsumer...
body := []byte("Hello, ActiveMQ!") conn.Send("/queue/test", stomp.Headers{}, body) ``` 6. **处理错误** 在上述示例中,我们对可能出现的错误进行了处理,如使用`panic(err)`展示错误信息。在实际应用中,...
TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); // 发送消息 producer.send(message); ``` 对于JavaScript,ActiveMQ提供了StompWebsocket库,使得我们可以通过WebSocket协议与ActiveMQ...
TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); // 发送消息 producer.send(message); System.out.println("消息已发送"); // 关闭资源 producer.close(); session.close(); ...
ITextMessage message = session.CreateTextMessage("Hello, ActiveMQ!"); // 发送消息到队列 producer.Send(message); // 关闭资源 producer.Close(); session.Close(); connection.Stop(); connection....
qt5.8 msvc2015 加载activemq 成功自发自首,编写了模块,可以自行下载,activemq里面的dll,也都存在, 调用方法 CSpiderPluginAMq::GetInstance()->InitNetwork(); CSpiderPluginAMq::GetInstance()->...
cms::TextMessage* message = session->createTextMessage("Hello, ActiveMQ!"); // 发送消息 producer->send(message); // 创建消费者 cms::MessageConsumer* consumer = session->createConsumer...
TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); producer.send(message); session.close(); connection.close(); } } ``` ### 4. Java 客户端实现 客户端则用于订阅主题或队列,并...