jms - 如何在 Websphere AS 中获取 MQTT 客户端 ID?

标签 jms websphere ibm-mq mqtt

我的应用程序通过 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/

相关文章:

java - 如何在没有 Jms session 对象的情况下复制 javax.jms.TextMessage

java - 如何从 HTTP 基本身份验证中获取密码

transactions - 知道什么会导致 javax.jms.TransactionRolledBackException

java - 尝试测试队列持久性。消费者断点时无法发送消息

java - 在单独线程或同一线程中创建 ActiveMQ 监听器的区别

java - Abdera SSLHandshakeException

c# - 将 ibm mq 客户端连接到较低版本的问题

jsf - session bean 在 HTTPS-DNS 组合上丢失

java - 为什么我无法像这样调用网络服务?

c - 我的C与MQ接收消息返回代码2037