java - 使用 ActimeMQ 和 Spring Consumer 通过 mqtt 发送和接收图像文件

标签 java spring activemq mqtt spring-jms

我是 mqtt 新手。我正在启动一个 ActiveMQ 服务器并创建一个 Java Spring Consumer 来处理请求。我成功地从终端发布了一条短信并使用 Spring Consumer 进行了处理。接下来,我需要通过 mqtt 发送图像文件。我有一些问题:

  1. 是否可以使用 mqtt 发送图像文件?
  2. 如何使用我的 Spring Consumer 接收文件?

这是我用于消费 mqtt 短信的 java 代码:

public void onMessage(Message message) {

    if (message instanceof BytesMessage) {
        BytesMessage bm = (BytesMessage) message;
        byte data[];
        data = new byte[(int) bm.getBodyLength()];
        bm.readBytes(data);
        String msgText = new String(data);
    }
}

这是我发送文件的代码:

mosquitto_pub   -d -t test -f /home/abdulmanaf/Pictures/1.png

最佳答案

发送文件的代码:

mosquitto_pub   -d -t test -f /home/abdulmanaf/Pictures/1.png

用于接收文件的 Spring Consumer 代码:

if (message instanceof BytesMessage) {
            try {
                BytesMessage bm = (BytesMessage) message;
                byte data[];
                data = new byte[(int) bm.getBodyLength()];
                bm.readBytes(data);

                FileOutputStream fileOuputStream = new FileOutputStream(
                        "/tmp/hello.png");
                fileOuputStream.write(data);
                fileOuputStream.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            }

        } 

关于java - 使用 ActimeMQ 和 Spring Consumer 通过 mqtt 发送和接收图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33472887/

相关文章:

java - 运行jar时配置服务器端口

java - SpringMongo - 发现文档结构

java - 如何更改 Activemq 的默认端口号

java - ActiveMQ:保证将消息传递给消费者

java - 将 iText 条码图像从 CCITT 格式转换为 PNG

java - Hibernate Transient Extends问题

java - 刚从 start.spring 运行项目时出现错误

activemq - 如何在 ActiveMQ 5.2 中打开 JMX

java - 如何将自定义类对象注入(inject)Junit环境?

java - 如何删除 JPanel 对象?