我有15年的C程序连接到IBM MQ。它有一部分代码,它试图同步一些东西,当有几个MQ时,它从数据库中传说。
但是现在我们只有一个MQ。我必须使用这种同步方法吗?
#include "dte_mq.h"
#include <string.h>
#include <stdlib.h>
typedef struct tagDTE_QUEUE_DESCRIPTOR
{
MQHOBJ handle;
int IsSyncpointControled;
} DTE_QUEUE_DESCRIPTOR, *PDTE_QUEUE_DESCRIPTOR;
static MQHCONN sHConn = 0;
static MQLONG sCompCode = MQCC_OK;
static MQLONG sReason = MQRC_NONE;
static int sNumOpenQueues = 0;
static PDTE_QUEUE_DESCRIPTOR sQueues = NULL;
#define MAX_NUM_OPEN_QUEUES 10
for(i = 0; i < MAX_NUM_OPEN_QUEUES; i++)
{
if(sQueues[i].handle == -1)
{
*qd = i;
sQueues[i].handle = hObj;
sQueues[i].IsSyncpointControled = 0;
break;
}
}
我们现在是否需要这个逻辑,如果q=-1
的值并且它在循环中得到0
并且不在循环中?
如果您需要,我可以将整个代码写入问题。
答案 0 :(得分:0)
我有15年的C程序连接到IBM MQ。它有一部分 代码,它试图同步某些东西,当有几个MQ时, 来自数据库的故事。
为什么不阅读程序的文档和代码中的注释,以确定它正在做什么和/或不做什么以及代码是否需要修改。
其次,如果它已经工作了15年,那你为什么要搞乱你不理解的东西呢?
第三,为什么不雇用合格的MQ承包商来审查代码和文档并对程序执行什么操作?因为您在StackOverflow上发布了7个与所有相关程序相关的问题。