我的应用程序通过 Websphere AS 上的 JMS 接收 MQTT 消息。 MQTT 端点是 Websphere MQ。
有什么方法可以识别消息的发送者(发送设备,而不是 Websphere MQ ;-))?我在 jms 消息头中找不到匹配的字段...
最佳答案
创建 MQTT channel 时,可以选择使用 MQTT 客户端 ID 或用户名进行授权检查。如果 channel 配置为使用 JAAS 并且选择了使用用户名的选项,我相信MQMD.UserID
继承了用户名。我没有配置 JAAS 身份验证,但稍后我会对其进行测试和更新。
我能够测试使用 ClientID 进行授权的选项,它不会导致客户端 ID 在 MQMD.UserID
字段中结束。
由于身份传播是一项常见要求,我建议提出 Request For Enhancement (RFE) 声明客户端 ID 或用户名应传播到 MQMD.UserID
,具体取决于 channel 设置。
关于jms - 如何在 Websphere AS 中获取 MQTT 客户端 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12969386/