我正在使用IBM Websphere MQ.我有队列管理器和队列名称.现在,我想检查队列中是否有任何消息?
我之前没有这方面的工作.请求帮助
如果您需要更多信息,请告诉我们!
谢谢
我们正在使用 IBM MQ,我们在控制其向接收者的异步传递方面面临一些严重的问题。数以百万计,而服务器机器没有那么多的容量来一次处理这么多线程,那么有没有办法像在 IBM MQ 端进行节流一样,我们可以像 Apache MQ 那样配置预蚀刻限制?
或者有没有其他方法可以实现这一目标?
当前,当侦听器上达到某些 X 限制时,我们正在关闭与 IBM MQ 的连接,但这似乎不是一种有效的方式。
请大家帮我们解决这个问题。
我对 MQ 不熟悉,所以如果我没有正确解释自己,请原谅我。我们在队列中收到一条消息,该消息在读取时失败并显示 2110 MQRC_FORMAT_ERROR。问题似乎是它没有指定“格式”,例如我们期待“MQSTR”。客户端代码 (C#) 正在捕获 MQException 并执行 MQQueueManager.Backout() 但是消息只是返回队列并被客户端再次读取和拒绝。
查看队列,我看到它没有设置退出队列或退出阈值。队列管理器也没有死信队列集。因此,我所做的是设置 DLQ 并将队列的回退队列设置为回退阈值为 5。但是,消息仍然停留在不断读取和放回的队列中。该消息的回退计数目前已接近 2000 万。
我想让退出和 DLQ 工作,但如果有另一种方法可以手动删除或移动此消息,这将有助于现在。这只是一个测试信息,所以我们丢失它也没有关系。
编辑:我不得不清除队列才能让事情发生变化,所以不幸的是,在它再次发生之前可能无法测试任何解决方案。
我正在尝试使用 Java 程序连接到 IBM websphere Client,以下是代码:=
import com.ibm.mq.MQException;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
/**
* Simple example program
*/
public class MQSample {
// code identifier
static final String sccsid = "@(#) MQMBID sn=p750-002-131001_DE su=_FswqMCqGEeOZ3ui-rZDONA pn=MQJavaSamples/wmqjava/MQSample.java";
// define the name of the QueueManager
private static final String qManager = "QM_ORANGE";
// and define the name of the Queue
private static final String qName = "SYSTEM.DEFAULT.LOCAL.QUEUE";
// private static final String qName = "QM_APPLE";
public static …Run Code Online (Sandbox Code Playgroud) 我如何以及在哪里可以获取mqserie aka amqmdnetstd.dll的.net核心dll?有什么好处吗?如何将消息发送到队列,当tryinh访问队列时,我在此2082上遇到错误
队列= mqManager.AccessQueue(queueName,openOptions);
MQQueueManager queueManager = null;
MQQueue queue=null;
try
{
properties = new Hashtable();
properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
properties.Add(MQC.HOST_NAME_PROPERTY, queueManagerName);
properties.Add(MQC.PORT_PROPERTY, 1414);
properties.Add(MQC.CHANNEL_PROPERTY, MQChannel);
properties.Add(MQC.USER_ID_PROPERTY, connectionName);
properties.Add(MQC.PASSWORD_PROPERTY, "");
queueManager = new MQQueueManager("MNTSCM01", properties);
quqeue=queueManager .AccessQueue(queueName, openOptions);
}
catch (MQException mqex)
{
// Console out exception
}
Run Code Online (Sandbox Code Playgroud) 我有一些示例C代码,我希望这些代码可以适应我的需求。在此之前,我尝试按原样编译示例。C代码包含#include参考,我可以在'inc'目录中找到.h文件。还有一个对应的“ lib”目录。我正在努力寻找需要编译代码的命令行。
到目前为止,我已经设法做到以下几点;
gcc -o amqsinqa -I/opt/mqm/inc amqsinqa.c -L/opt/mqm/lib -lcmqc
Run Code Online (Sandbox Code Playgroud)
但是它“找不到-lcmqc”。我已经在lib中查看了,很正确地没有cmqc。如何确定这里需要的-l选项?
代码看起来很简单,有include引用;
#include <cmqc.h>
Run Code Online (Sandbox Code Playgroud)
还有电话本身;
MQCONN(QMgrName,&Hcon,&CompCode,&CReason);
Run Code Online (Sandbox Code Playgroud)
如果我在命令行中省略了-l选项,我会得到;
undefined reference to 'MQCONN'
Run Code Online (Sandbox Code Playgroud)
这不足为奇。MQCONN存在于cmqc.h中。
有没有一种方法可以在本地 IBM MQ 与 AWS SQS/API Gateway 之间进行集成。我检查了很多链接,但发现我们可以将整个 IBM MQ 迁移到 AWS MQ,但无法从 AWS 调用到本地MQ。如果有人尝试过这种集成,请提出建议。
我目前正在使用 IBM MQ Advanced for Developers 服务器来测试我们的客户端,并且使用 jms 编写的示例使用者能够实现每秒大约 1000 条消息,这似乎相当慢。这是否是开发服务器的限制?如果是,那么使用许可的生产 IBM MQ 服务器可以实现多少吞吐量。
嘿我想连接并使用JAVA将字符串发送到MQ我是新手,所以你可以帮我解决这个问题.我只是想建立连接并发送一个字符串.
我有关于MQ的以下信息. JNDI名称: ABCDEFH 队列管理器: ABCDEFH 主机名或IP地址: ABCDEFH 端口: ABCDEFH 频道: ABCDEFH 传输类型: ABCDEFH