java – 使用mq客户端获取Alias Queue的基础对象队列名称
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用mq客户端获取Alias Queue的基础对象队列名称,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1797字,纯文字阅读大概需要3分钟。
内容图文
![java – 使用mq客户端获取Alias Queue的基础对象队列名称](/upload/InfoBanner/zyjiaocheng/727/3c9eca22f9804ba899caf523800f0e4d.jpg)
我有MQ客户端代码,可以浏览Alias Queue以获取Alias Queue的基础对象名称(即Alias队列指向的本地队列的名称).但是,只有当MQ客户端连接到与客户端代码在同一主机上运行的MQ Manager时,代码才有效,但在客户端代码连接到远程主机上的MQ Manager时则不行.
客户代码:
MQEnvironment.hostname = "192.168.1.3";
MQEnvironment.port = "1415";
MQEnvironment.channel = "ADMIN.SVRCONN";
MQQueueManager mqQueueManager = new MQQueueManager(null);
int openOptions = CMQC.MQOO_BROWSE;// + CMQC.MQOO_RESOLVE_LOCAL_Q;
MQQueue mqQueue = mqQueueManager.accessQueue("AN.ALIAS.QUEUE.NAME", openOptions);
String resolvedName = mqQueue.getResolvedQName();
// resolvedName is null when the MQ Manager is on a remote host
System.out.println("Resolved Queue Name: " + resolvedName);
当Alias Queue的已解析队列名称为null时,MQ Manager的错误日志将显示以下单个条目:
AMQ9208: Error on receive from host devlaptop (192.168.1.5).
EXPLANATION:
An error occurred receiving data from devlaptop (192.168.1.5) over TCP/IP.
This may be due to a communications failure.
ACTION:
The return code from the TCP/IP (recv) call was 10054 (X'2746'). Record these
values and tell the systems administrator.
客户端代码是否可以获取远程MQ Manager的Alias Queue的基础对象名称?如果是这样,怎么样?我在某处丢失了远程权限吗?或者我的客户端代码openOptions错了吗?
注意:队列管理器中的别名队列或任何其他队列未进行群集.
解决方法:
您在服务器上看到的是客户端在不关闭连接的情况下关闭. TCP将其关闭,QMgr会发出您在QMgr日志中看到的错误.如果客户端收到错误,您会看到它返回给客户端.
该问题未指定您尝试打开的别名是否已群集.如果它是群集的,那么我们希望解析的名称根据文档为空.在这种情况下,OPEN解析为传输队列,但不知道应用程序是哪一个.在应用程序看到的返回句柄中,已解析的队列和QMgr名称保留为空.
这将在知识中心的Name Resolution部分中介绍.请参阅第1列中的空行队列管理器和第2列中具有CLUSTER属性的别名队列的表行.
内容总结
以上是互联网集市为您收集整理的java – 使用mq客户端获取Alias Queue的基础对象队列名称全部内容,希望文章能够帮你解决java – 使用mq客户端获取Alias Queue的基础对象队列名称所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。