Activemq是一个基于Java的开源消息中间件,可以实现分布式系统的通信和数据传输。Activemq支持多种Message格式,包括JSON格式。下面介绍Activemq如何发送JSON数据。
首先,需要引入JSON库,这里以Google的Gson库为例:
dependencies {
compile group: 'com.google.code.gson',name: 'gson',version: '2.8.7'
}
接下来写一个POJO(Plain Old Java Object)类,用于封装需要发送的JSON数据:
public class User {
private String name;
private int age;
public User(String name,int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
然后编写发送JSON数据的代码:
import com.google.gson.Gson;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class Producer {
public static void main(String[] args) throws JMSException {
// 创建连接工厂
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// 创建连接
Connection connection = factory.createConnection();
// 打开连接
connection.start();
// 创建会话
Session session = connection.createSession(false,Session.AUTO_ACKNowLEDGE);
// 创建目的地
Destination destination = session.createQueue("test");
// 创建生产者
MessageProducer producer = session.createProducer(destination);
// 创建消息
Gson gson = new Gson();
String json = gson.toJson(new User("张三",20));
TextMessage message = session.createTextMessage(json);
// 发送消息
producer.send(message);
// 关闭连接
connection.close();
}
}
代码解释:
- 创建连接工厂,指定Activemq服务器地址;
- 创建连接;
- 打开连接;
- 创建会话;
- 创建目的地,这里创建一个队列;
- 创建生产者;
- 生成JSON数据,使用Gson库将User对象转换为JSON字符串;
- 创建消息,将JSON字符串封装为TextMessage对象;
- 发送消息;
- 关闭连接。
以上就是使用Activemq发送JSON数据的步骤,需要注意的是,在接收端需要将JSON字符串转换为Java对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。