Java消息服务~消息属性

应用程序特定的属性

        应用程序属性在消息传送之前进行设置。一旦一条消息发布或发送后,它就变成了只读(read-only)属性;消费或生产者都无法修改它的属性。不过可以调用clearProperties()后,修改属性。

TextMessage message = pubSession.createTextMessage();
message.setText(text);
message.setStringProperty("username", "Jonne");
publisher.publish(message);

Message 接口中的getPropertyNames() 方法可以用来获取该消息所有属性的名称枚举。

public void onMessage(Message message) {
    Enumeration propertyNames = message.getPropertyNames();
    while(propertyNames.hasMoreElements()) {
        String name = (String) propertyNames.nextElement();
        Object value = getObjectProperty(name);
        System.out.println("name=" + name + ",value=" + value);
    }
}

JMS 定义的属性

message.setStringProperty("JMSXGroupID", "ERF-001");
message.setIntProperty("JMSXGroupSeq", 3);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java MQTT是一种用于在物联网应用中进行消息传递的协议。它基于发布-订阅模式,允许设备和应用程序通过中间代理(broker)进行通信。下面是使用Java MQTT发送消息的简要介绍: 1. 导入依赖:首先,你需要在你的Java项目中导入MQTT客户端库。常用的MQTT客户端库有Eclipse Paho和HiveMQ等。 2. 创建MQTT客户端:使用MQTT客户端库创建一个MQTT客户端对象,并设置连接参数,如服务器地址、端口号、客户端ID等。 3. 连接到MQTT代理:使用客户端对象连接到MQTT代理(broker),并进行身份验证(如果需要)。 4. 发布消息:使用客户端对象创建一个MQTT消息对象,并设置消息内容、主题等属性。然后,使用客户端对象将消息发布到指定的主题上。 5. 断开连接:当不再需要与MQTT代理通信时,使用客户端对象断开与代理的连接。 下面是一个简单的示例代码,演示了如何使用Java MQTT发送消息: ```java import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; public class MqttSender { public static void main(String[] args) { String broker = "tcp://mqtt.example.com:1883"; String clientId = "JavaMqttSender"; String topic = "myTopic"; String content = "Hello, MQTT!"; try { MqttClient client = new MqttClient(broker, clientId, new MemoryPersistence()); MqttConnectOptions connOpts = new MqttConnectOptions(); connOpts.setCleanSession(true); System.out.println("Connecting to broker: " + broker); client.connect(connOpts); System.out.println("Connected"); System.out.println("Publishing message: " + content); MqttMessage message = new MqttMessage(content.getBytes()); message.setQos(0); client.publish(topic, message); System.out.println("Message published"); client.disconnect(); System.out.println("Disconnected"); } catch (MqttException e) { e.printStackTrace(); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值