C语言 IBM MQ 的同步:是否需要,如果我们只有一个 MQ



我有 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并退出循环?

如果你需要它,我可以将整个代码写进问题中。

我有 15 年前的 C 程序连接到 IBM MQ。它有一部分 代码,它试图同步某些东西,当有多个 MQ 时, 哪些故事来自数据库。

你为什么不阅读程序的文档和代码中的注释,以确定它正在做什么和/或不做什么,以及代码是否需要修改。

其次,如果它已经工作了 15 年,那你为什么要搞砸一些你不明白的东西呢?

第三,您为什么不聘请合格的MQ承包商来审查代码和文档,并做程序所需的任何事情? 因为您在 StackOverflow 上发布了 7 个问题,这些问题都与同一程序有关。

相关内容

最新更新