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

时间:2017-07-13 17:47:52

标签: c ibm-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并且不在循环中?

如果您需要,我可以将整个代码写入问题。

1 个答案:

答案 0 :(得分:0)

  

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

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

其次,如果它已经工作了15年,那你为什么要搞乱你不理解的东西呢?

第三,为什么不雇用合格的MQ承包商来审查代码和文档并对程序执行什么操作?因为您在StackOverflow上发布了7个与所有相关程序相关的问题。